У меня есть собственный TabLayout с 4 элементами, в котором есть только тексты. Я хочу, чтобы каждый текст в моем tabLayout был равноудаленным - PullRequest
0 голосов
/ 11 июня 2019

Мой TabLayout требует этого

  1. Эквидистантный текст like this

  2. Левый и правый отступы постоянны.

  3. Все тексты должны быть одинакового размера

  4. Вкладки не должны прокручиваться *** тексты на каждой вкладке могут иметь любую длину символов

1 Ответ

0 голосов
/ 11 июня 2019

Создайте новый стиль в 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>
...