横向滑动视图包装

public class ShoutFragmtnes  extends Fragment {

    private View view;
    private HorizontalScrollView hs;
    private LinearLayout linearlayout;
    private ArrayList<TextView> list;
    private String[] titles;
    private ViewPager pager1;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.shouye_layt,container,false);
     //初始化控件
        pager1 = view.findViewById(R.id.pager1);
        hs = view.findViewById(R.id.hs);
        linearlayout = view.findViewById(R.id.linearlayout);
        titles = new String[]{"头条","娱乐", "科技","国际","干货"};
        list = new ArrayList<TextView>();
        return view;
    }
    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        //设置pager的滑动监听
        pager1.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            //滑动
            @Override
            public void onPageScrolled(int position, float v, int i1) {
                for (int j = 0; j <list.size() ; j++) {
                    if (position==j){
                        list.get(j).setTextColor(getResources().getColor(R.color.colorAccent));
                    }else {
                        list.get(j).setTextColor(getResources().getColor(R.color.colorPrimary));
                    }
                }
                //获取当前的textView
                TextView textView = list.get(position);
                //获取宽度
                int width = textView.getWidth()+10;
                //让scrollView滑动
                hs.scrollTo(width*position,0);
            }
            @Override
            public void onPageSelected(int i) {
            }
            @Override
            public void onPageScrollStateChanged(int i) {
            }
        });
        for (int i = 0; i < titles.length; i++) {
            //创建TextView
            TextView textView = new TextView(getActivity());
            textView.setText(titles[i]);
            //设置字体大小
            textView.setTextSize(20);
            textView.setTextColor(Color.rgb(000,000,000));
            //设置id
            textView.setId(i+20);
            //设置点击事件
            textView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //跳转ViewPager界面
                    int id = v.getId();
                    pager1.setCurrentItem(id-20);
                }
            });
            //刚进程序第一个默认红色,其他为黑色
            if (i==0){
                textView.setTextColor(Color.RED);
            }else {
                textView.setTextColor(Color.BLACK);
            }
            //创建布局
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            //设置字体之间的间距
            layoutParams.setMargins(40,40,20,40);
            linearlayout.setBackground(getActivity().getDrawable(R.color.color_w));
            //添加布局
            linearlayout.addView(textView,layoutParams);
            //将textView添加到集合
            list.add(textView);
        }
        pager1.setAdapter(new MyAdapter(getActivity().getSupportFragmentManager(),titles));
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44160470/article/details/85156152
今日推荐