在选项卡内更改文本大小

5

我正在为各种屏幕尺寸设计我的应用程序,但是遇到了一个小问题。我无法更改选项卡内部文本的大小。以下是我的操作步骤:

首先,我创建了自己的样式。

<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>

有什么想法吗?谢谢
4个回答

11

我不知道你选择 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>

是的。完成了。感谢您的帮助-) - Theo

6
使用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"/>

希望这可以帮到你。

1
<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))

请尝试这个方法,希望它能起作用。


0

在样式文件中更改父级。

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

TextAppearance.AppCompat.Widget 未被识别! - Theo
你们的SDK目标版本和最低版本是什么? - Zahidul Islam
这是16...minSdkVersion 16。 - Theo
尝试使用@android:style/TextAppearance.Widget.TabWidget - Zahidul Islam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接