TabLayout+ViewPager制作简单导航栏
Posted ymtianyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TabLayout+ViewPager制作简单导航栏相关的知识,希望对你有一定的参考价值。
绑定viewpager
此处主要说明tablayout的使用方法,viewpager绑定fragment的介绍在其他文章说明
mBinding.tabsLayout.setupWithViewPager(mBinding.vpTabs);
常见问题
-
切记,一定要先绑定viewpage再添加tab,否则tab的标题无法正常显示出来
-
setupwithviewpager会在后台做很多事,比如清空tabs等,为了更安全的显示我们的tabs,在绑定viewpager之后,先清空一下tabs再添加
mBinding.tabsLayout.removeAllTabs();
添加 tab
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("所有书籍"));
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab().setText("发现"));
或者使用
private String[] lstTitles = new String[]{"所有书籍", "发现"};
for(int i = 0; i < lstTitles.length; i++){
mBinding.tabsLayout.addTab(mBinding.tabsLayout.newTab());
mBinding.tabsLayout.getTabAt(i).setText(lstTitles[i]);
}
常用属性设定
设定文本颜色
app:tabTextColor="@color/tab_text" //设定标题文本颜色
app:tabSelectedTextColor="@color/tab_text" //设定标题文本选中后颜色
上面只需要设置tabtextcolor即可,具体选中后的颜色可以在颜色属性里设置
tab_text.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorAccent" android:state_checked="true"/>
<item android:color="@color/colorAccent" android:state_selected="true"/>
<item android:color="#000"/>
</selector>
以上是关于TabLayout+ViewPager制作简单导航栏的主要内容,如果未能解决你的问题,请参考以下文章
Android滑动导航菜单TabLayout+ViewPager+Fragment
TabLayout+ViewPager+Fragment制作页卡
Kotlin 实现可点击可滑动顶部导航栏(AppBarLayout+TabLayout)和左右切换可滑动页面(ViewPager)的功能