TableLayout与TabeLayout+ViewPager的使用

TableLayout与TabeLayout+ViewPager的使用

1、TableLayout的简介:
TableLayout是Design包下的一个控件,支持水平布局,可以和viewpager配合使用,
也可以单独使用。

2、使用步骤:
  1)、引入design包: compile 'com.android.support:design:26.0.0-alpha1'
  2)、在布局文件中加入TableLayout布局:
     
    
  3)、使用:
       private android.support.design.widget.TabLayout mTableLayout;
       mTableLayout= (TabLayout) getViewById(R.id.tb);

       设置标题:
       mTableLayout.newTab().setText(mTitles[i]).setText("相册"))
       mTableLayout.newTab().setText(mTitles[i]).setText("标题"))
       mTableLayout.newTab().setText(mTitles[i]).setText("我的"))

         设置监听:
              mTableLayout.addOnTabSelectedListener(new TabLayout.
              OnTabSelectedListener() {
                     @Override
                      public void onTabSelected(TabLayout.Tab tab) {
                        //当被选中时被调用,tab是被选中的位置
                      }

                       @Override
                      public void onTabUnselected(TabLayout.Tab tab) {
                        //当没被选中的时候调用,即当前是选中的,选择了
                        另一个item时,
                        当另一个view别选中时被调用

                      }

                      @Override
                      public void onTabReselected(TabLayout.Tab tab) {
                        //当当前item是选中状态,此时再次选择该item时别调用


                       }
                      });
                   }

TableLayout与TabeLayout+ViewPager的使用_第1张图片
3、TableLayout与ViewPager配合使用: 布局文件: 使用到的adapter: public class BaseFragemetAdapter extends FragmentStatePagerAdapter { ArrayList fgs; private String[] mTitles; public void setFgs(ArrayList fgs, String[] mTitles){ this.fgs=fgs; this.mTitles=mTitles; } public BaseFragemetAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return fgs.get(position); } @Override public int getCount() { return fgs.size(); } @Override public CharSequence getPageTitle(int position) { return mTitles[position];//很重要,起到与tableLayout关联的作用, 否则会报错 } } 用到的Activity: public class TabLayoutActivity extends FragmentActivity { private android.support.design.widget.TabLayout mTableLayout; private String[] mTitles={"相册","标题","我的","菜单","牧场","农场", "设置"}; private ArrayList fgs=new ArrayList(); private ViewPager vp; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initViews(); intiDatas(); initEvents(); } private void initEvents() { mTableLayout.addOnTabSelectedListener(new TabLayout. OnTabSelectedListener() { @Override public void onTabSelected(TabLayout.Tab tab) { Toast.makeText(TabLayoutActivity.this, tab.getText()+"", Toast.LENGTH_SHORT).show(); } @Override public void onTabUnselected(TabLayout.Tab tab) { } @Override public void onTabReselected(TabLayout.Tab tab) { } }); } private void initMenus(){ fgs.clear(); for (int i=0;i
 
 

你可能感兴趣的:(移动开发)