android tablayout 自定义,TabLayout用法详解及自定义样式

TabLayout的默认样式:

app:theme="@style/Widget.Design.TabLayout"

从系统定义的该样式继续深入:

fill

fixed

264dp

?attr/colorAccent

2dp

12dp

12dp

?attr/selectableItemBackground

@style/TextAppearance.Design.Tab

?android:textColorPrimary

接着,看看系统定义Tab文本的样式(注意textAllcaps这个属性):

14dp

?android:textColorSecondary

true

从系统定义TabLayout的默认样式可以看出,我们可以改变TabLayout对应的系统样式的属性值来适配我们自己的需求.

TabLayout的基本用法

TabLayout独立使用使用时,可以xml布局中静态添加tab个数及其样式,也可以动态添加Tab的个数及其样式,如:

android:id="@+id/tablayout"

android:background="@color/colorPrimary"

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Android"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:icon="@mipmap/ic_launcher"/>

android tablayout 自定义,TabLayout用法详解及自定义样式_第1张图片

或者:

android:id="@+id/tablayout"

android:background="@color/colorPrimary"

android:layout_width="match_parent"

android:layout_height="wrap_content"/>

private int[] images = new int[]{

R.drawable.ic_account_balance_wallet_black,

R.drawable.ic_android_black,

R.drawable.ic_account_box_black};

private String[] tabs = new String[]{"小说", "电影", "相声"};

TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);

tabLayout.addTab(tabLayout.newTab().setIcon(images[0]).setText(tabs[0]),true);

tabLayout.addTab(tabLayout.newTab

你可能感兴趣的:(android,tablayout,自定义)