【问题标题】:I have a custom TabLayout with 4 items which only has texts.I want each texts in my tabLayout to be equidistant我有一个包含 4 个项目的自定义 TabLayout,其中只有文本。我希望我的 tabLayout 中的每个文本都是等距的
【发布时间】:2019-10-25 10:54:09
【问题描述】:

我的 TabLayout 需要这个

  1. 等距文本

  2. 左右内边距不变。

  3. 所有文本的大小应相同

  4. 标签不能滚动 *** 每个选项卡上的文本可以有任意长度的字符

【问题讨论】:

    标签: android tabs android-tablayout


    【解决方案1】:

    styles.xml中创建新样式

    <!-- TabTextSizeAppearance to define your tab text size -->
    <style name="TabTextSizeAppearance" parent="TextAppearance.AppCompat.Caption">
        <item name="android:textSize">14sp</item>
        <item name="android:textStyle">normal</item>
    </style>
    
    <!-- MyTabLayout to define TabLayout parameters -->
    <style name="MyTabLayout" parent="Widget.Design.TabLayout">
        <item name="tabGravity">fill</item>
        <item name="tabMode">fixed</item>
        <item name="tabPaddingStart">4dp</item>
        <item name="tabPaddingEnd">4dp</item>
        <item name="tabSelectedTextColor">@color/black</item>
        <item name="tabTextAppearance">@style/TabTextSizeAppearance</item>
    </style>
    

    最后,将此添加到您的dimens.xml

    <dimen name="design_tab_text_size_2line" tools:ignore="PrivateResource">14sp</dimen>
    

    dimen 大小应与TabTextSizeAppearance 文本大小相同,以确保文本大小相同,即使是长文本也是如此

    然后在你的xml中使用它

    <android.support.design.widget.TabLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/MyTabLayout"
       >
    
        <android.support.design.widget.TabItem
          ...
    
    
    </android.support.design.widget.TabLayout>
    

    【讨论】:

      猜你喜欢
      • 2021-04-19
      • 2021-05-30
      • 2023-02-16
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      相关资源
      最近更新 更多