Barra de herramientas de Android: pequeño texto del título en modo horizontal

Estoy probando la nueva barra de herramientas y el tema AppCompat en Android y me encontré con un problema. El texto del título de mi barra de herramientas parece de tamaño normal en el modo vertical, pero se volvió bastante pequeño en el modo horizontal, aunque no hice nada en el código para cambiar el tamaño del texto del título. Aquí están las capturas de pantalla:

RetratoPaisaje

activity_main.xml:

           

styles.xml:

    false  @color/primary @color/primary_dark @color/accent      true   

Traté de configurar android:titleTextAppearance de la barra de herramientas pero el estilo no se estaba aplicando. Luego me di cuenta de que estoy usando el tema de AppCompat, así que usé la app:titleTextAppearance y el estilo ahora se está aplicando. Parece que las letras minúsculas en el paisaje son un problema en el estilo integrado de AppCompat.Toolbar.Title , así que lo AppCompat.Toolbar.Title para establecer manualmente el tamaño de la fuente. El código final:

Barra de herramientas XML:

  

Estilo de barra de herramientas:

  

Se publicó AOSP Issue # 170707 sobre el cambio en el tamaño del texto para el título y el subtítulo. La respuesta de los miembros del proyecto fue “Funciona según lo previsto. Idéntico al comportamiento del marco”. Aunque no considero que cambiar el tamaño del texto sea el comportamiento predeterminado deseable, parece que los ingenieros de AppCompat tuvieron que mantener la coherencia con el comportamiento del marco (defectuoso). Los desarrolladores se dejan para anular los estilos predeterminados como se describe en la respuesta de Chilly Chan.

Adiciones a la respuesta de Chilly Chan:

1) El tamaño del texto del subtítulo se puede controlar de manera similar al definir otro estilo derivado de TextAppearance.Widget.AppCompat.Toolbar.Subtitle.

2) Los valores predeterminados para el tamaño del título / subtítulo en orientación vertical son 20dp / 16dp (en mi Galaxy S3, 4.4.2.). El ejemplo de Chilly Chan especifica “17sp”. Use “sp” solo si desea permitir que la configuración de preferencia del usuario afecte el tamaño del título / subtítulo.

Estaba buscando una solución sin barra de herramientas personalizada , pero con un estilo personalizado y este código me funcionó:

styles.xml

    

AndroidManifest.xml

   

Donde MainActivity extiende AppCompatActivity; probado en API 19, 22 y 23.

Intente agregar esto a su barra de herramientas en la sección activity_main.xml.

android: minHeight = “? android: attr / actionBarSize”

También noté que está utilizando una barra de acción oscura estándar, sugiere utilizar Tema sin barra de acción, definió una nueva barra de herramientas donde

  Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); setSupportActionBar(toolbar);  

Creo que tiene que ver con algunos cambios de diseño realizados cuando gira el dispositivo, ya que parece que puede evitar el cambio de tamaño mediante la adición de algo así como

  android:configChanges="orientation|screenSize" 

en AndroidManifest.xml para la actividad en la que se encuentra. Como siempre, android: configChanges tiene más implicaciones, por lo que debe usarse solo si realmente lo necesita 🙂