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: