Android 使表格布局文本加粗

Android 使表格布局文本加粗,android,android-tablayout,Android,Android Tablayout,我正在使用Android设计支持库中的TableAyout,并希望为其文本(标题)设置样式。特别是大胆的。如何仅在XML中实现这一点 <android.support.design.widget.TabLayout android:id="@+id/sliding_tabs" android:layout_width="match_parent" app:tabTextColor="@color/white" app:tabSelectedTextColor="@color/white"

我正在使用Android设计支持库中的TableAyout,并希望为其文本(标题)设置样式。特别是大胆的。如何仅在XML中实现这一点

<android.support.design.widget.TabLayout
android:id="@+id/sliding_tabs"
android:layout_width="match_parent"
app:tabTextColor="@color/white"
app:tabSelectedTextColor="@color/white"
app:tabIndicatorColor="@color/accent"
android:layout_height="wrap_content"
app:tabIndicatorHeight="3dp" />

在styles.xml中添加TabLayout文本样式



首先,必须将其添加到styles.xml中:

<style name="TabLayoutTextStyle">
    <item name="android:textSize">16sp</item>
    <item name="android:textStyle">bold</item>
</style>
要启用allcaps,您可以将以下内容添加到
表格布局文本样式中:

<item name="android:textAllCaps">true</item>
true
  • 一个选项是添加styles.xml

      <item name="android:textStyle">bold</item> 
    
  • 在该样式内,再次重定向到其他样式,仅用于文本外观:

          <item name="tabTextAppearance">@style/myTabTextStyle</item>
    
    @style/myTabTextStyle
    
    就像这样:

      <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        style="@style/myTabLayoutStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar"
        android:background="?attr/colorPrimary"
        android:elevation="600dp"
        android:minHeight="?attr/actionBarSize"
        app:tabGravity="fill"
        android:singleLine="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
    
    
    
    inside styles.xml:

      <style name="myTabLayoutStyle" parent="Widget.Design.TabLayout">
        <item name="tabMaxWidth">@dimen/tab_max_width</item>
        <item name="tabIndicatorColor">?attr/colorAccent</item>
        <item name="tabIndicatorHeight">4dp</item>
        <item name="tabPaddingStart">3dp</item>
        <item name="tabPaddingEnd">3dp</item>
        <item name="android:singleLine">true</item>
        <item name="tabBackground">?attr/selectableItemBackground</item>
        <item name="tabSelectedTextColor">?android:textColorPrimary</item>
        <item name="tabTextAppearance">@style/myTabTextStyle</item>
      </style>
    
       <style name="myTabTextStyle">
           <item name="android:textSize">15sp</item>
           <item name="android:textStyle">bold</item>
           <item name="android:textColor">?android:textColorSecondary</item>
           <item name="textAllCaps">true</item>
           <item name="android:singleLine">true</item>
      </style>
    
    
    @尺寸/标签最大宽度
    ?属性/颜色重音
    4dp
    3dp
    3dp
    真的
    ?属性/可选择项背景
    ?android:textColorPrimary
    @样式/myTabTextStyle
    15便士
    大胆的
    ?android:textColorSecondary
    真的
    真的
    
    这是正确的方法


    您需要声明以下样式

    <style name="TabLayoutTextStyle">
        <item name="android:textSize">16sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/black</item>
    </style>
    
    
    16便士
    大胆的
    @颜色/黑色
    
    现在,您可以像这样使用它:

    然后,必须使用app:tabTextAppearance而不是style属性将样式应用于TabLayout

    <android.support.design.widget.TabLayout
    android:id="@+id/sliding_tabs"
    android:layout_width="match_parent"
    app:tabTextColor="@color/white"
    app:tabSelectedTextColor="@color/white"
    app:tabIndicatorColor="@color/accent"
    android:layout_height="wrap_content"
    app:tabIndicatorHeight="3dp" 
    app:tabTextAppearance="@style/TabLayoutTextStyle" />
    
    <android.support.design.widget.TabLayout
         android:layout_width="match_parent"
         app:tabTextColor="@color/white"
         app:tabSelectedTextColor="@color/white"
         app:tabIndicatorColor="@color/accent"
         android:layout_height="wrap_content"
         app:tabTextAppearance="@style/TabLayoutTextStyle" />
    
    
    
    点击此链接,它可能会起作用。。。当我还在样式中声明textColor时,它崩溃了,起作用了。
      <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        style="@style/myTabLayoutStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/toolbar"
        android:background="?attr/colorPrimary"
        android:elevation="600dp"
        android:minHeight="?attr/actionBarSize"
        app:tabGravity="fill"
        android:singleLine="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
    
      <style name="myTabLayoutStyle" parent="Widget.Design.TabLayout">
        <item name="tabMaxWidth">@dimen/tab_max_width</item>
        <item name="tabIndicatorColor">?attr/colorAccent</item>
        <item name="tabIndicatorHeight">4dp</item>
        <item name="tabPaddingStart">3dp</item>
        <item name="tabPaddingEnd">3dp</item>
        <item name="android:singleLine">true</item>
        <item name="tabBackground">?attr/selectableItemBackground</item>
        <item name="tabSelectedTextColor">?android:textColorPrimary</item>
        <item name="tabTextAppearance">@style/myTabTextStyle</item>
      </style>
    
       <style name="myTabTextStyle">
           <item name="android:textSize">15sp</item>
           <item name="android:textStyle">bold</item>
           <item name="android:textColor">?android:textColorSecondary</item>
           <item name="textAllCaps">true</item>
           <item name="android:singleLine">true</item>
      </style>
    
    <style name="TabLayoutTextStyle">
        <item name="android:textSize">16sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/black</item>
    </style>
    
    <android.support.design.widget.TabLayout
         android:layout_width="match_parent"
         app:tabTextColor="@color/white"
         app:tabSelectedTextColor="@color/white"
         app:tabIndicatorColor="@color/accent"
         android:layout_height="wrap_content"
         app:tabTextAppearance="@style/TabLayoutTextStyle" />