Barra de herramientas detrás de la barra de estado con API 21
Tengo un fragmento con un CoordinatorLayout
Cuando ejecuto la aplicación con la API 19, el comportamiento es correcto: la barra de herramientas está por debajo de la barra de estado y el botón FAB de la principal_actividad desaparece:
- Focusable EditText dentro de ListView
- Android: ¿Acabo de tener un disparo por propiedad mediante el uso de temas? ¿No hay nada como CSS en Android?
- No se agrega el archivo de diseño xml de Android a R.java
- El texto de todos mis brindis se muestra fuera del centro
- ¿Por qué necesito envolver un ImageView en un FrameLayout?
Pero con la API 21 y + : La barra de herramientas está detrás de la barra de estado y el botón FAB de la main_activity no desaparece:
Archivo de 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:id="@+id/caves_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/caves_appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/caves_collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimaryDark" app:expandedTitleMarginStart="78dp" app:expandedTitleMarginEnd="124dp"> <ImageView android:id="@+id/caves_backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:background="@drawable/drawer_header_bg" app:layout_collapseMode="parallax" android:adjustViewBounds="true" android:scaleType="centerCrop" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal"> </LinearLayout> <android.support.v7.widget.Toolbar android:id="@+id/caves_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" 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="@+id/caves_recyclerview" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.FloatingActionButton android:id="@+id/caves_fab" android:layout_height="wrap_content" android:layout_width="wrap_content" app:layout_anchor="@id/caves_appbar" app:layout_anchorGravity="bottom|right|end" android:src="@drawable/ic_discuss" android:layout_margin="@dimen/fab_margin" android:clickable="true"/> </android.support.design.widget.CoordinatorLayout>
He añadido un archivo xml style-v21 específico
<resources> <style name="AppTheme" parent="Base.Theme.Design"> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowSharedElementsUseOverlay">false</item> </style> </resources>
No encontraré y entenderé el problema.
- Agregar un diseño en otro diseño
- Android - Creación de imágenes e iconos
- Eliminar restricciones de orientación mediante programación
- Trabajar con imágenes en el desarrollo de aplicaciones para Android
- Android Gridview - Linear layout_height que se ignora
- Android: al cambiar el color de fondo de EditText, el estilo de EditText se cambia
- Android: Cómo buscar vistas por tipo
- Detecta la visibilidad y la altura de la entrada suave cuando se usa el modo de pantalla completa
Add android:fitsSystemWindows="false"
para el CoordinatorLayout
Tenía un problema similar (ejemplificado aquí )
Cómo lo hice funcionar era agregar android:fitsSystemWindows="false"
a AppBarLayout
y tenerlo en true
en el CoordinatorLayout
Saque esta línea:
<item name="android:windowTranslucentStatus">true</item>