以前都是使用Famerlayout + RadioGroup来写, 最近发现TabLayout + ViewPager来写更简单写, 因此研究了下:
一. 准备工作:
1. 创建一个android项目
2.在项目的build.gradle的dependencies中添加implementation 'com.android.support:design:26.1.0'
3.让你的Activity继承FragmentActivity或者是AppCompatActivity, 否则找不到getSupportFragmentManager()
4.创建三个Fragment并配上相应的layout
二. XML代码展示:
activity_main.xml
fragment_first.xml
MainActivity.java
MainFragmentAdapter.java
以上所有的代码基本完成了, 下面我们来分析一下相关的代码或者属性;
首先对于TabLayout的相关xml属性也可以在java中设置
例如:
在xml中: app:tabGravity="fill"
在java中: tabLayout.setTabGravity(TabGravity.GRAVITY.FILL);
app: tabSelectedTextColor: Tab被选中字体的颜色
app:tabTextColor: Tab未被选中字体的颜色
app:tabIndicatorColor:Tab指示器下标颜色
注意 :如果Tabs中的内容超过了手机屏幕的宽度时,Tabs选项卡中的tab为什么不支持水平滑动?
其实TabLayout是支持水平滑动的--> tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); //设置tab的模式