El título CollapsingToolbarLayout desaparece cuando ActionBarLayout se desploma inicialmente
Cuando la aplicación se desplaza hacia abajo y la barra de aplicaciones se desploma, el título desaparece de alguna manera ya veces no se muestra de nuevo incluso después de expandir la barra de aplicaciones.
Aquí hay una animación gif de mi problema: animation.gif
- Android Java: Utilizar setOnClickListener en el bucle for
- Ver si existe un campo en la clase
- Comprobar si la aplicación está abierta durante un evento de GCM onMessage?
- ¿Asignación de objetos durante el dibujo / diseño?
- Comportamiento extraño al transmitir contenido con Android MediaPlayer en HTC Desire con Android 2.2
Aquí está mi xml:
Activity_main.xml:
<android.support.v4.widget.DrawerLayout 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:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout>
App_bar.main:
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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" android:fitsSystemWindows="true" tools:context=".ScrollingActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> <ImageView android:src="@drawable/book1" android:id="@+id/image" android:layout_width="match_parent" android:layout_height="240dp" android:scaleType="centerCrop" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.5" app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/AppTheme.PopupOverlay" app:layout_scrollFlags="scroll|enterAlways"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/fab_margin" android:src="@android:drawable/ic_dialog_email" app:layout_anchor="@id/app_bar" app:layout_anchorGravity="bottom|right|end" /> </android.support.design.widget.CoordinatorLayout>
Incluso establecer el título de forma programática:
CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.toolbar_layout); collapsingToolbar.setTitle(getString(R.string.app_name)); collapsingToolbar.setTitleEnabled(true);
- Nombres de los parámetros del método build-preserve de Gradle release
- ¿Qué significan los iconos del módulo en Android Studio?
- El indicador DONT_KILL_APP de PackageManager no funciona en Android Lollipop 5.0
- Ya administra un GoogleApiClient con id 0 En FRAGMENT
- Procesamiento de SVG bajo Java en Android y escritorio
- Cómo dibujar una línea suave a través de un conjunto de puntos con las curvas Bezier?
- Invertir colores de mapa de bits
- Almacenamiento de moneda en la base de datos SQlite android
Esto es conocido Bug descrito aquí . Chris Banes ya ha hecho con la solución para este problema y se espera que se fije en la versión futura de Diseño de la Biblioteca de Soporte
Según el comentario # 7, la Solución Temporal podría ser la siguiente:
No deje que CollapsingToolbarLayout
maneje su título pero añada un TextView. A continuación, puede animar (escalar / traducir) esta vista de título personalizado agregando un OnOffsetChangedListener al AppBarLayout que contiene el CollapsingToolbarLayout. Este oyente le da la compensación con la que puede calcular la relación de la fuente a la altura objetivo y por lo tanto el nuevo tamaño del texto:
float scaledTextSize = collapsedTextSize + ((expandedTextSize - sourceTextSize) * ((float) Math.abs(offset) / appBarLayout.getTotalScrollRange()));
Los tamaños de texto se pueden establecer manualmente o mediante los estilos TextAppearance que utilice.
Editado He confirmado que este problema se está solucionando ahora en la última versión de la biblioteca de soporte v23.1.0
Eliminar la app:contentScrim="?attr/colorPrimary"
- ¿Qué es el equivalente a iOS mobile config en android?
- La biblioteca de balizas Android de AltBeacon obtiene mayor, menor y UUID