TabLayout的简单应用

来源:互联网 发布:相同格式表格数据合并 编辑:程序博客网 时间:2024/05/17 08:27

我使用的 android studio进行开发的,所以引用TabLayout很简单,只要在build.gradle中加入compile'com.android.support:design:26+''即可。

注意事项

1.要添加依赖

2.添加模式和关联

3.导包一定要导

[java] view plain copy
  1. android.support.design.widget.TabLayout  

[java] view plain copy
  1. //设置TabLayout的模式  
  2.       tab.setTabMode(TabLayout.MODE_FIXED);  
  3.       //关联 TabLayout加载viewpager    
  4.        tab.setupWithViewPager(vp);  
3.在适配器中添加

[java] view plain copy
  1. //需要重写个返回标题的方法;  
  2.        @Override  
  3.        public CharSequence getPageTitle(int position) {  
  4.            return tablist.get(position);  
  5.        }  

[java] view plain copy
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:app="http://schemas.android.com/apk/res-auto"  
  3.     xmlns:tools="http://schemas.android.com/tools"  
  4.     android:layout_width="match_parent"  
  5.     android:layout_height="match_parent"  
  6.     tools:context="com.bawei.day14_mytablelayout.MainActivity"  
  7.     android:orientation="vertical">  
  8.   
  9.   <android.support.design.widget.TabLayout  
  10.       android:id="@+id/tab"  
  11.       app:tabIndicatorColor="@color/colorPrimary"<span><span>    // 下方滚动的下划线颜色 </span></span>  
  12.       app:tabSelectedTextColor="@color/colorPrimary"<span><span>// tab被选中后,文字的颜色 </span></span>  
  13.       app:tabTextColor="@color/colorPrimary"<span><span>      // tab默认的文字颜色  </span></span>  
  14.       android:layout_width="match_parent"  
  15.       android:layout_height="wrap_content"/>  
  16.   
  17.     <android.support.v4.view.ViewPager  
  18.         android:id="@+id/vp"  
  19.         android:layout_width="match_parent"  
  20.         android:layout_height="0dp"  
  21.         android:layout_weight="1" />  
  22.   
  23.   
  24. </LinearLayout>  
[java] view plain copy
  1. public class MainActivity extends AppCompatActivity {  
  2.   
  3.     private ViewPager vp;  
  4.     List<Fragment> list=new ArrayList<>();  
  5.     List<String>     tablist=new ArrayList<>();  
  6.   
  7.     @Override  
  8.     protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.activity_main);  
  11.        initData();  
  12.       TabLayout tab = findViewById(R.id.tab);  
  13.        vp = findViewById(R.id.vp);  
  14.        Myadaper m=new Myadaper(getSupportFragmentManager());  
  15.        vp.setAdapter(m);  
  16.        //设置TabLayout的模式  
  17.        tab.setTabMode(TabLayout.MODE_FIXED);  
  18.        //关联 TabLayout加载viewpager    
  19.         tab.setupWithViewPager(vp);  
  20.     }  
  21.   
  22.     private void initData() {  
  23.         for (int i=0;i<4;i++){  
  24.             list.add(new Myfragment());  
  25.             tablist.add("美女"+i+"号");  
  26.         }  
  27.     }  
  28.   
  29.   
  30.     class Myadaper extends FragmentPagerAdapter {  
  31.   
  32.         public Myadaper(FragmentManager fm) {  
  33.             super(fm);  
  34.         }  
  35.   
  36.         @Override  
  37.         public Fragment getItem(int position) {  
  38.             return list.get(position);  
  39.         }  
  40.   
  41.         @Override  
  42.         public int getCount() {  
  43.             return list.size();  
  44.         }  
  45.         //需要重写个返回标题的方法;  
  46.         @Override  
  47.         public CharSequence getPageTitle(int position) {  
  48.             return tablist.get(position);  
  49.         }  
  50.     }  
原创粉丝点击