【问题标题】:Changing text size inside Tabs更改选项卡内的文本大小
【发布时间】:2016-07-22 22:14:24
【问题描述】:

我正在为各种屏幕尺寸设计我的应用程序,但我遇到了一个小问题。我无法更改选项卡内文本的大小。这就是我所做的。

首先我创建了自己的风格。

<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">22sp</item>
</style>

然后我用这个样式来对应xml文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="manutd.football.app.interviews.InterviewsActivity">

<manutd.football.app.SlidingTabLayout
    android:id="@+id/tabs"
    app:tabTextAppearance="@style/MineCustomTabText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:elevation="2dp"
    android:background="#656e99" />

<android.support.v4.view.ViewPager
    android:id="@+id/pager"
    android:layout_below="@+id/tabs"
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:layout_weight="1"
    ></android.support.v4.view.ViewPager>

</RelativeLayout>

有什么想法吗?谢谢

【问题讨论】:

    标签: android tabs text-size


    【解决方案1】:

    我不知道你为什么选择manutd.football.app.SlidingTabLayout

    你可以使用

    <android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            style="@style/MyCustomTabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
    </android.support.design.widget.TabLayout>
    

    这样你就可以在你的标签中改变你想要的内容,比如

    <style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
        <item name="tabMaxWidth">@dimen/tab_max_width</item>
        <item name="tabIndicatorColor">?attr/colorAccent</item>
        <item name="tabIndicatorHeight">2dp</item>
        <item name="tabPaddingStart">12dp</item>
        <item name="tabPaddingEnd">12dp</item>
        <item name="tabBackground">?attr/selectableItemBackground</item>
        <item name="tabTextAppearance">@style/MyCustomTabTextAppearance</item>
        <item name="tabSelectedTextColor">?android:textColorPrimary</item>
    </style>
    <style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
        <item name="android:textSize">14sp</item>
        <item name="android:textColor">?android:textColorSecondary</item>
        <item name="textAllCaps">true</item>
    </style>
    

    【讨论】:

    • 是的。完成。感谢您的帮助-)
    【解决方案2】:

    使用 tabTextAppearance 更改选项卡内文本的大小。

    app:tabTextAppearance="?android:attr/textAppearanceSmall"
    

    我的 TabLayout 的完整代码是

    <android.support.design.widget.TabLayout
                android:id="@+id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/tabLayoutBGColor"
                app:tabSelectedTextColor="@color/colorAccent"
                app:tabTextAppearance="?android:attr/textAppearanceSmall"
                app:tabMode="fixed"
                app:tabGravity="fill"/>
    

    希望这会有所帮助。

    【讨论】:

      【解决方案3】:
      <style name="MyTabTextAppearance" parent="TextAppearance.AppCompat.Button">
      <item name="android:textSize">18sp</item>
      <item name="android:textColor">@android:color/white</item>
      <item name="textAllCaps">true</item>
      
      <com.google.android.material.tabs.TabLayout
      android:id="@+id/tab_layout"
      android:layout_width="match_parent"
      android:layout_height="@dimen/welcome_menu_icon_height_10"
      android:layout_gravity="center_horizontal"
      android:layout_marginTop="@dimen/margin_15"
      android:background="@android:color/transparent"
      android:nestedScrollingEnabled="true"
      android:scrollbarThumbVertical="@color/white"
      android:textAlignment="center"
      app:tabGravity="center"
      app:tabIndicatorAnimationDuration="1"
      app:tabIndicatorColor="@color/white"
      app:tabMode="scrollable"
      app:tabSelectedTextColor="@color/white"
      app:tabTextAppearance="@style/MyTabTextAppearance"
      app:tabTextColor="@color/white" />
      
       tabLayout.addTab(tabLayout.newTab().setText(R.string.casa))
      tabLayout.addTab(tabLayout.newTab().setText(R.string.fdr_dps))
      tabLayout.addTab(tabLayout.newTab().setText(R.string.loan))
      

      试试这个,希望能成功

      【讨论】:

        【解决方案4】:

        更改样式文件中的父级。

        <style name="MineCustomTabText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse">
            <item name="android:textSize">22sp</item>
        </style>
        

        【讨论】:

        • TextAppearance.AppCompat.Widget 无法识别!
        • 您的 SDK 的目标和最低版本是多少?
        • 这是16个...minSdkVersion 16
        • 试试@android:style/TextAppearance.Widget.TabWidget"
        猜你喜欢
        • 2017-02-22
        • 2013-10-26
        • 2016-07-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多