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;
            }
        }

  • 相关阅读:
    Android 4 学习(21):对话框
    Android 4 学习(20):ActionBar
    Android 4 学习(19):Services
    Android 4 学习(18):搜索
    Android 4 学习(17):使用Content Resolver
    【转】Max2013脚本工具的乱码问题
    【转】巧用DOS tree命令+批处理 实现 指定文件 批量复制!
    【转】PHP 杂谈 坑爹的file_exists
    【转】MySQL:日期函数、时间函数总结(MySQL 5.X)
    【转】pam_mysql
  • 原文地址:https://www.cnblogs.com/cuizhe/p/5326886.html
Copyright © 2011-2022 走看看