it-swarm.com.ru

Как сделать размер текста табуляции равным?

Вот что я сделал: я создал стиль для текста

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

затем я установил его на вкладку

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

Вот результат:

 enter image description here

Как видите, текст "D-day complete" меньше других. У меня есть просьба сделать его равным другим, но я не знаю как. Пожалуйста, помогите мне, спасибо. 

9
Bụng Bự

Вы можете попытаться установить отступ в 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"/>

Мне это помогло)

33
Serhii Nadolynskyi

Per этот пост , это сработало очень хорошо для меня:

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

Атрибуты tabMode и tabGravity сделали свое дело. Это позволяет меткам занимать столько времени, сколько нужно, и прокручиваться так: 

 enter image description here

9
etherton

Испытав нечто подобное и прочитав исходный код TabLayout, я пытаюсь переопределить измерение в моем файле dimensions.xml, например так:

<dimen name="design_tab_text_size_2line" tools:override="true">48sp</dimen>

и не забудьте добавить пространство имен в корень вашего файла, например так:

<resources xmlns:tools="http://schemas.Android.com/tools">

и это работает для меня.

Надеюсь, поможет!

Правка :

Кажется, что он не работает в каждой ситуации (на самом деле он должен работать, когда ваш текст имеет две строки или более), но помогает, когда стиль не работает. Поэтому я использую обе техники (стиль и переопределенное измерение).

1
thenaoh

Это работает для меня:

app:tabMode="scrollable"
app:tabGravity="fill"
0
Rodrigo Gielow