CollapsingToolbarLayout setTitle () ya no funciona
El método setTitle()
de CollapsingToolbarLayout
tenía algunos errores (como mostrar sólo después de un desplazamiento, arreglado en v22.2.1
).
Hoy he actualizado a v23.0.0
, y es simplemente no funciona, como ningún título se muestra. Llamándolo varias veces con un retraso, puedo ver que a veces el título está ahí, pero no es realmente confiable (como, cambia a otro fragmento, luego vuelve a la primera y ya no hay título).
- ¿Cuál es el alcance de un LoaderManager?
- Eclipse no reconoce android.support.v13.app.FragmentActivity aunque tengo la biblioteca android-support-v13
- Renderscript a través de la biblioteca de soporte
- Error en lib appcompat_v7
- VectorDrawable Compatibilidad hacia atrás e instalar bibliotecas de soporte no oficial
He encontrado que hay un nuevo atributo, app:titleEnabled
o CollapsingToolbarLayout.setTitleEnabled(boolean)
. He establecido ambos a la verdad, pero no cambia nada en realidad.
¿Alguno de ustedes está experimentando el mismo comportamiento?
Me pregunto cuántas aplicaciones que hay en el mercado están usando realmente esta Biblioteca de Diseño, que ha estado llena de errores desde el primer lanzamiento y no está mejorando.
Editar
Con las pruebas adicionales, parece (no estoy 100% seguro) que está conectado a la AppBarLayout.setExpanded()
nuevo AppBarLayout.setExpanded()
api.
Si llamo a:
collapsingToolbar.setTitle("title");
Funciona, pero si llamo
collapsingToolbar.setTitle("title"); appbarLayout.setExpanded(true, true); //OR appbarLayout.setExpanded(true, true); collapsingToolbar.setTitle("title");
No lo hace – no se muestra título. Lo mismo con setExpanded(false, true)
, es decir, tratando de contraer la barra de herramientas.
Edit2 (sep 2015)
Bueno no. El problema está presente incluso cuando nunca llamo abl.setExpanded()
o app:expanded
. Además, estamos en v23.0.1 ahora y esto todavía no se ha solucionado. Parece que sólo algunos de nosotros lo estamos experimentando, porque no pude encontrar nada aquí ni en la lista de errores oficiales. He presentado un error aquí .
- No se encontró identificador de recurso para el atributo 'layoutManager' en el paquete 'android.support.design'
- Excepción en el complemento de Android del complemento
- Error: El atributo "***" ya se ha definido al utilizar dos proyectos de biblioteca en Android
- MenuItemCompat.setOnActionExpandListener no hace nada
- Mientras uso la biblioteca de soporte técnico estoy recibiendo un error que el atributo "" ya ha sido definido en android
- ¿Cómo desactivo las verificaciones de anotaciones de Android @IntDef en casos especiales?
- Appcompatv7 - v21 El cajón de navegación no muestra el icono de hamburguesa
- Plugin Error: plugin necesario "Android Support" está deshabilitado
El título no se muestra porque la altura de diseño de AppBarLayout es demasiado pequeña. Tuve una altura de 110dp y esto funcionó en v22.2.1. Después de actualizar a v23.0.0, tuve que cambiar la altura de al menos 125dp para que el título para mostrar. No es necesario utilizar el nuevo atributo o método de llamadas. Aquí está mi diseño:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_height="125dp" android:layout_width="match_parent" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbarLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:expandedTitleTextAppearance="@style/ExpandedAppBarTitle" app:expandedTitleMarginStart="14dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@android:id/list" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.FloatingActionButton android:id="@+id/addbtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" app:borderWidth="0dp" android:layout_margin="@dimen/fab_margin" android:src="@drawable/ic_add" />
He probado algunas combinaciones en mi aplicación:
collapsingToolbar.setTitle("title"); appbarLayout.setExpanded(true, true); // works collapsingToolbar.setTitle("title"); appbarLayout.setExpanded(true, false); // works collapsingToolbar.setTitle("title"); appbarLayout.setExpanded(false, true); // works collapsingToolbar.setTitle("title"); appbarLayout.setExpanded(false, false); // doesn't show title
He llamado a estos métodos en onCreateView () en mi fragmento. AppBarLayout se expande por defecto, que se puede cambiar a través de XML en su diseño, aunque cuando lo defino para no ser ampliado en XML, no muestra título también. Cosas extrañas … de todos modos, si usted tiene alguna idea de cómo podría ayudar más, hágamelo saber.