private ViewPager vp; private HorizontalScrollView hsv; private LinearLayout ll; String []titles = new String[] { "头条", "社会", "国内", "国际", "娱乐", "体育", "军事", "科技", "财经", "时尚" }; List<TextView> list = new ArrayList<>(); private MAdapter mAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); hsv = (HorizontalScrollView) findViewById(R.id.hsv); ll = (LinearLayout) findViewById(R.id.ll); vp = (ViewPager) findViewById(R.id.vp); for (int i = 0; i <titles.length ; i++) { TextView textView = new TextView(MainActivity.this); textView.setText(titles[i]); textView.setTextSize(20); textView.setId(i+1000); textView.setOnClickListener(this); if(i==0){ textView.setTextColor(Color.RED); }else{ textView.setTextColor(Color.BLACK); } LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(20,10,20,10); ll.addView(textView,layoutParams); list.add(textView); } //设置适配器 mAdapter = new MAdapter(getSupportFragmentManager()); vp.setAdapter(mAdapter); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { for (int i = 0; i <list.size() ; i++) { if(position==i){ list.get(i).setTextColor(Color.RED); }else{ list.get(i).setTextColor(Color.BLACK); } } TextView textView = list.get(position); int width = textView.getWidth(); hsv.scrollTo((width+20)*position,0); /* MyFrag.getfragment(position); mAdapter.notifyDataSetChanged();*/ } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); } class MAdapter extends FragmentPagerAdapter{ public MAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return MyFrag.getfragment(position); } @Override public int getCount() { return list.size(); } } //TextView的点击事件 @Override public void onClick(View view) { Log.e("wzq", "onClick: "); int id = view.getId(); vp.setCurrentItem(id-1000); /*MyFrag.getfragment(id-1000); mAdapter.notifyDataSetChanged();*/ }
今日头条栏
最新推荐文章于 2021-05-26 00:39:14 发布