zoukankan      html  css  js  c++  java
  • 使用TabPageIndicator实现HorizontalScrollView效果

    /**
         * Tab标题
         */
        private static final String[] TITLE = new String[] { "头条", "房产", "另一面", "女人",
                                                            "财经", "数码", "情感", "科技" };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //ViewPager的adapter
            FragmentPagerAdapter adapter = new TabPageIndicatorAdapter(getSupportFragmentManager());
            ViewPager pager = (ViewPager)findViewById(R.id.pager);
            pager.setAdapter(adapter);

            //实例化TabPageIndicator然后设置ViewPager与之关联
            TabPageIndicator indicator = (TabPageIndicator)findViewById(R.id.indicator);
            indicator.setViewPager(pager);
            
            //如果我们要对ViewPager设置监听,用indicator设置就行了
            indicator.setOnPageChangeListener(new OnPageChangeListener() {
                
                @Override
                public void onPageSelected(int arg0) {
                    Toast.makeText(getApplicationContext(), TITLE[arg0], Toast.LENGTH_SHORT).show();
                }
                
                @Override
                public void onPageScrolled(int arg0, float arg1, int arg2) {
                    
                }
                
                @Override
                public void onPageScrollStateChanged(int arg0) {
                    
                }
            });
            
        }

        
        /**
         * ViewPager适配器
         * @author len
         *
         */
        class TabPageIndicatorAdapter extends FragmentPagerAdapter {
            public TabPageIndicatorAdapter(FragmentManager fm) {
                super(fm);
            }

            @Override
            public Fragment getItem(int position) {
                //新建一个Fragment来展示ViewPager item的内容,并传递参数
                Fragment fragment = new ItemFragment();  
                Bundle args = new Bundle();  
                args.putString("arg", TITLE[position]);  
                fragment.setArguments(args);  
                
                return fragment;
            }

            @Override
            public CharSequence getPageTitle(int position) {
                return TITLE[position % TITLE.length];
            }

            @Override
            public int getCount() {
                return TITLE.length;
            }
        }

  • 相关阅读:
    Codeforces Gym100502H:Clock Pictures(KMP算法)
    SPOJ MINSUB
    POJ 2796:Feel Good(单调栈)
    搭建(WSTMart)php电商环境时缺少fileinfo函数
    TP微信扫码支付
    tp3.2 支付宝app支付
    tp3.2 支付宝手机网站支付
    Thinkphp3.2+PHPQRCode 二维码生成示例
    百度UEditor粘贴或插入的表格不显示边框的解决办法
    PHP:导出数据到word(包含图片)
  • 原文地址:https://www.cnblogs.com/cuizhe/p/5326886.html
Copyright © 2011-2022 走看看