Elementos de menú de la barra de herramientas apretados después de cambiar a la biblioteca de soporte 26 y AppBarActivity a AppCompatActivity

Ayer cambié a la nueva biblioteca de soporte 26 y también tuve que cambiar AppBarActivity obsoleto a AppCompatActivity ya que esto ya no existe.

Estoy experimentando el mismo problema que se describe en el siguiente enlace, pero "limpio" o "reconstruir" no soluciona el problema. ¿Por qué los elementos del menú de opciones se apretan si uso la biblioteca de soporte 26?

Tengo todos mis iconos en hdpi y xhdpi. Algunos también en mdpi y ldpi …

Entonces, ¿por qué mis iconos de la barra de herramientas se apretan?

Aquí está el código que utilizo en todos mis diseños que funcionaban con todas las bibliotecas de soporte anteriores (y siempre estoy usando las versiones más recientes):

<android.support.design.widget.AppBarLayout android:id="@+id/myAppBar" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" /> </android.support.design.widget.AppBarLayout> 

Todos mis iconos se definen como attr para que yo sea capaz de proporcionar una luz y una versión oscura.

 <item android:id="@+id/action_logbook" android:icon="?attr/icon_book" android:orderInCategory="100" android:title="@string/logbook" yourapp:showAsAction="ifRoom"/> 

Este es el attr de icons.xml

 <attr name="icon_book" format="reference"/> 

Este es el estilo que proporciona el icono real:

  <style name="MyBaseThemeLight" parent="Theme.AppCompat.Light.NoActionBar"> <item name="icon_book">@drawable/icon_book_white</item> </style> 

Aquí hay una captura de pantalla antes de la versión de soporte 26.0.0: introduzca la descripción de la imagen aquí

y esto es después de la actualización: introduzca la descripción de la imagen aquí

UPDATE: Está funcionando cuando pongo una imagen directamente en la barra de herramientas:

  <android.support.design.widget.AppBarLayout android:id="@+id/myAppBar" style="@style/myAppBarStyle" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="?attr/bt_expenses" /> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> 

introduzca la descripción de la imagen aquí

UDATE 2: Para mí el cambio de código en la versión 26 de ActionMenuItemView parece ser el problema, ya que no cambia el tamaño de los iconos para mantener el ancho y alto igual:

Ver: public void setIcon(Drawable icon)

Vea este hilo en el rastreador de problemas de Android donde explico el error: https://issuetracker.google.com/issues/64207386 . También he recompilado la biblioteca para solucionar el problema. Adjunto aquí: https://issuetracker.google.com/issues/64207386#comment19 .

EDIT: El problema está fijado en 26.0.2

La solución parece utilizar Image Asset Studio de Android Studio para generar recursos de iconos de nuevo. No utilicé esa herramienta antes y puse la imagen del icono manualmente en diversas carpetas de la resolución. parece que com.android.support:appcompat-v7:26.0.0 ha cambiado la resolución de la imagen, mi antiguo icono hdpi era 72×72, el icono generado para hdpi ahora es 48×48.

Estas dos barras de acción difieren. La altura mínima se establece a partir de los atributos, pero ambos tienen un valor de altura establecido en wrap_content .

La primera barra consta de una segunda línea con km, que extiende la altura de la barra de aplicaciones al envolver ambas vistas de texto. Los iconos en el segundo se reducen, porque probablemente tienen atributos también establecidos en wrap_content.

Sería mejor si mostró ambas barras de aplicación que tienen el mismo diseño y comparación después de cambiar a AppCompatActivity.

  • AppBarLayout con contenedor FrameLayout como contenido de desplazamiento no funciona
  • Cómo centralizar iconos en la barra de herramientas en android studio
  • Mostrar flecha hacia atrás en la barra de herramientas Android
  • La actividad no se cierra al hacer clic en el botón de la barra de herramientas
  • Esta actividad ya tiene una barra de acción suministrada por la decoración de la ventana (FEATURE_ACTION_BAR)
  • Cajón de navegación debajo de la barra de herramientas
  • Android: no se puede cambiar el color de la flecha de nuevo icono de navegación
  • Cómo puedo cambiar la alineación de las vistas secundarias de la barra de herramientas
  • Cómo cambiar el color de los iconos de la barra de herramientas al colapsar
  • Cómo crear las pestañas de la barra de herramientas con ViewPager en el diseño del material
  • Barra de herramientas de AppCompat: establece el tema de la barra de herramientas desde el tema superior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.