如何使tablayout文本大小相等?

Bụn*_* Bự 11 tabs android

这就是我所做的:我为文本创建了一种风格

<!-- Change tab text appearance -->
    <style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
        <item name="textAllCaps">false</item>
        <item name="android:textAppearance">@style/CustomTabWidgetText</item>
    </style>

    <style name="CustomTabWidgetText"
        parent="@android:style/TextAppearance.Widget.TabWidget">
        <item name="android:textSize">16sp</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

然后我把它设置为我的tablayout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.HomeActivity"
    tools:showIn="@layout/app_bar_main">


    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        app:titleTextColor="#ffffff"
        />


    <android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/toolbar"
        android:background="?attr/colorPrimary"
        app:tabSelectedTextColor="#ffffff"
        app:tabTextAppearance="@style/MyCustomTextAppearance"
        app:tabTextColor="#ffffff" />

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

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

如您所见,"D日完成"文本比其他文本小.我要求它的尺寸与其他尺寸相同,但我不知道如何.请帮帮我,谢谢.

Ser*_*kyi 43

您可以尝试在TabLayout中设置填充(app:tabPaddingStart =" - 1dp",app:tabPaddingEnd =" - 1dp")

喜欢

<android.support.design.widget.TabLayout
        android:id="@+id/tab_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/toolbar"
        android:background="?attr/colorPrimary"
        app:tabSelectedTextColor="#ffffff"
        app:tabTextAppearance="@style/MyCustomTextAppearance"
        app:tabTextColor="#ffffff" 
        app:tabPaddingStart="-1dp"
        app:tabPaddingEnd="-1dp"/>
Run Code Online (Sandbox Code Playgroud)

它帮了我)

  • 实际上这是唯一能解决问题的答案......谢谢@ Serg0! (2认同)
  • 我不知道为什么它有效,但它确实有效!多谢! (2认同)
  • @ FelipeRibeiroR.Magalhaes文本较小的原因是它对于标签来说太宽了,所以字体大小会自动缩小以适应它.通过使标签的水平填充更小,文本具有更多空间,因此可以适合正常的字体大小.但这完全取决于你的文字有多长.尽管有额外的空间仍然不适合的文本仍然会变小. (2认同)

eth*_*ton 11

根据这篇文章,这对我来说非常有用:

    <android.support.design.widget.TabLayout
       android:id="@+id/tab_layout"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       app:tabMode="scrollable"
       app:tabGravity="fill"
       app:tabIndicatorHeight="5dp"
    />
Run Code Online (Sandbox Code Playgroud)

在tabMode和tabGravity属性的伎俩.这使得标签可以根据需要延伸并像这样滚动:

在此输入图像描述


mat*_*eoh 6

在经历了类似的事情并阅读了 TabLayout 源代码之后,我尝试在我的 dimens.xml 文件中覆盖一个维度,如下所示:

<dimen name="design_tab_text_size_2line" tools:override="true">48sp</dimen>
Run Code Online (Sandbox Code Playgroud)

并且不要忘记在文件的根目录中添加命名空间,如下所示:

<resources xmlns:tools="http://schemas.android.com/tools">
Run Code Online (Sandbox Code Playgroud)

它对我有用。

希望能帮助到你!

编辑 :

似乎它不适用于所有情况(当您的文本有两行或更多行时,它实际上应该起作用),但是当样式不起作用时它会有所帮助。所以我所做的是同时使用两种技术(样式和覆盖维度)。


归档时间:

查看次数:

13438 次

最近记录:

8 年,7 月 前