with viewpager studio example activity android tabs

android - viewpager - ¿Cómo hacer que el tamaño del texto de tablayout sea igual?



tabs android studio material design (3)

Esto es lo que hice: Creé un estilo para el texto

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

luego lo configuré para mi 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>

Aquí está el resultado:

Como puede ver, el texto "D-day complete" es más pequeño que otros. He pedido que su tamaño sea igual a otros, pero no sé cómo. Por favor, ayúdame, gracias.


Puede intentar configurar el relleno en TabLayout (app: tabPaddingStart = "- 1dp", app: tabPaddingEnd = "- 1dp")

me gusta

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

Me ayudó)


Después de experimentar algo similar, y después de leer el código fuente de TabLayout, intento anular una dimensión, en mi archivo dimens.xml, así:

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

y no te olvides de agregar el espacio de nombres en la raíz de tu archivo, así:

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

Y funciona para mi.

¡Espero eso ayude!

EDITAR:

Parece que no funciona en todas las situaciones (se supone que funciona cuando el texto tiene dos líneas o más), pero ayuda cuando el estilo no funciona. Entonces, lo que hago es usar ambas técnicas (estilo y dimensión anulada).


Por esta publicación , esto funcionó muy bien para mí:

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

Los tabMode y tabGravity hicieron el truco. Esto permite que las etiquetas se extiendan durante el tiempo que sea necesario y se desplace de esta manera: