您的位置:首页 > 移动开发 > Android开发

Android TabLayout 设置间距\字体大小的正确姿势

2018-01-12 21:41 4882 查看
android.support.design.widget.TabLayout 属性并没有直接设置item之间间距和字体 的属性 又不想用硬编码

效果:


直接上代码 :

<android.support.design.widget.TabLayout
android:id="@+id/m_tbl"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/transparent"
app:tabBackground="@drawable/tab_layout_background"//背景设置间距
app:tabGravity="fill"
app:tabIndicatorHeight="0dp"
app:tabMaxWidth="0dp"//tab大屏时宽度超过一定值后,就不在平均分配宽度,而是居中显示
app:tabMode="fixed"
app:tabSelectedTextColor="@color/color_white"
app:tabTextAppearance="@style/MyTabLayoutTextAppearance"//字体大小设置也不能直接设置
app:tabTextColor="@color/color_white" />

tab_layout_background:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/sel_bg_tab_yes" android:state_selected="true" />
<item android:drawable="@drawable/sel_bg_tab_no" />
</selector>

这两个状态的selector类似就放一个


<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

<!-- 连框颜色值 -->
<item
android:left="@dimen/dp_40"
android:right="@dimen/dp_40">
<shape>
<solid android:color="@color/tab_no_color" />

<corners
android:bottomLeftRadius="25dp"
android:bottomRightRadius="25dp"
android:topLeftRadius="25dp"
android:topRightRadius="25dp" />
</shape>
</item>
<!-- 主体背景颜色值 -->
<item
android:bottom="1dp"
android:left="@dimen/dp_40"
android:right="@dimen/dp_40"
android:top="1dp">
<shape>
<solid android:color="@color/tab_no_color" />

<pa
4000
dding
android:bottom="0dp"
android:left="10dp"
android:right="10dp"
android:top="0dp" />

<corners
android:bottomLeftRadius="25dp"
android:bottomRightRadius="25dp"
android:topLeftRadius="25dp"
android:topRightRadius="25dp" /> <!-- 设置圆角半径 -->

</shape>
</item>

</layer-list>

字体大小设置style:


<style name="MyTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textSize">20sp</item>
<item name="android:textColor">@android:color/white</item>
</style>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android