今日头条栏

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();*/
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值