Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip來實現

Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip來實現

編輯:關於Android編程

效果:滑動切換;點擊標簽切換。

\

 

代碼:https://github.com/ldb-github/Layout_Tab

1、使用ViewPager和PagerTabStrip/PagerTitleStrip進行布局。

\\



    

        

    
viewpager_pagertitle_pagertab.xml

 

1、要實現PagerAdapter的getPageTitle()方法,此方法提供了標簽名稱。

2、PaperTabStrip是PagerTitleStrip的子類,它添加了指示器功能,也就是標簽下面的小矩陣。

\\
public class ViewPagerAndPagerTitleOrPagerTabActivity extends Activity{

    // viewpager
    private ViewPager viewPager;
    // viewpager的標題 使用PagerTitleStrip只需要把Lyaout文件中的PagerTabStrip改為PagerTitleStrip
    private PagerTitleStrip titleStrip;
    // viewpager的指示器
    private PagerTabStrip tabStrip;
    // view集合
    private List viewList;
    // 標題集合
    private List titleList;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewpager_pagertitle_pagertab);

        init();
    }

    private void init(){
        viewList = new ArrayList<>();
        LayoutInflater inflater = getLayoutInflater();
        View view = inflater.inflate(R.layout.viewpager_pageradapter_tab1, null);
        viewList.add(view);
        view = inflater.inflate(R.layout.viewpager_pageradapter_tab2, null);
        viewList.add(view);
        view = inflater.inflate(R.layout.viewpager_pageradapter_tab3, null);
        viewList.add(view);

        titleList = new ArrayList<>();
        titleList.add("標題1");
        titleList.add("標題2");
        titleList.add("標題3");

        initViewPager();
    }
    private void initViewPager(){
        viewPager = (ViewPager) findViewById(R.id.fifth_vp);
        viewPager.setAdapter(pagerAdapter);

        // 修改指示器的顏色
//        tabStrip = (PagerTabStrip) findViewById(R.id.fifth_strip);
//        tabStrip.setTabIndicatorColor(Color.RED);

    }

    /**
     * 適配器
     */
    PagerAdapter pagerAdapter = new PagerAdapter() {
        @Override
        public int getCount() {
            return viewList.size();
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == object;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(viewList.get(position));
            return viewList.get(position);
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView(viewList.get(position));
        }

        @Override
        public CharSequence getPageTitle(int position) {
            return titleList.get(position);
        }
    };
}
ViewPagerAndPagerTitleOrPagerTabActivity.java

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved