La barra de herramientas de la ocultación de AppBarLayout se oculta
Estoy intentando inhabilitar la sombra debajo de un AppBarLayout / Toolbar transparente. Aquí está el diseño:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="#000"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:background="@android:color/transparent" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/imagePreviewToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_image_preview" /> </android.support.design.widget.CoordinatorLayout>
Ya lo intenté con
- Barra de herramientas alinear el título en el centro con el botón Atrás
- Navegación posterior con Fragmentos / Barra de herramientas
- Android lollipop toolbar conmutador entre abrir / cerrar el cajón y el botón Atrás
- El espacio entre la navegación hacia arriba y el título de la barra de herramientas es demasiado grande
- Mostrar opciones de menú diferentes en la barra de herramientas para la actividad y el fragmento
app:elevation="0dp"
y
getSupportActionBar().setElevation(0);
Pero eso hace que la flecha hacia arriba sea invisible . También intenté quitar el AppBarLayout y utilizar solamente la barra de herramientas, pero el problema persiste.
¿Alguien tiene una solución?
EDITAR:
Reemplazando el combo AppBarLayout + Toolbar con este código:
<android.support.v7.widget.Toolbar android:id="@+id/imagePreviewToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@android:color/transparent" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:elevation="0dp"/>
Parcialmente el problema. Ahora la barra de herramientas se vuelve invisible sólo cuando el dispositivo está en modo horizontal. El Editor de diseño de Android Studio me muestra la barra de herramientas en ambas orientaciones, así que realmente no sé cuál podría ser el problema.
- Establecer el título inToolBar de Fragment en Android
- ¿Cómo reemplazar el icono de la hamburguesa utilizado para ActionBarToggle en la barra de herramientas de Android con una costumbre drawable?
- Barra de herramientas de Android que no llama a onOptionsItemSelected de fragmentos en Backstack
- Ocultar barra de herramientas con CoordinatorLayout, pero RecyclerView en un fragmento
- El widget Android AppBarLayout siempre aparece en la parte superior
- Cómo alinear el icono en el lado izquierdo de la barra de aplicaciones en android
- No se permite el diseño relativo en la barra de herramientas
- Ocultar la barra de aplicaciones al desplazarse hacia abajo
Después de algunos intentos encontré que la barra de herramientas debe ser la última vista en este caso, si no será primero entonces la vista que viene después de que se superponen, ya que tiene la altura a match_parent
así que intente esta manera en el diseño.
Diseño
<?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" android:layout_width="match_parent" android:layout_height="match_parent" > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/imagePreviewToolbar" > <ImageView android:id="@+id/image_preview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/galacticos" android:contentDescription="abc" android:scaleType="fitCenter" /> <LinearLayout android:id="@+id/actionBtns" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:orientation="horizontal" android:padding="16dp" > <ImageButton android:id="@+id/setBackgroundBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@null" android:contentDescription="abc" android:src="@drawable/ic_launcher" /> <ImageButton android:id="@+id/downloadBtn" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="?selectableItemBackgroundBorderless" android:clickable="true" android:contentDescription="abc" android:src="@drawable/ic_launcher" /> </LinearLayout> </RelativeLayout> <android.support.v7.widget.Toolbar android:id="@+id/imagePreviewToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:fitsSystemWindows="true" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
Y no se olvide de inicializar todo esto y establecer su título a false para mostrar sólo el botón de la barra de herramientas atrás:
Código de actividad
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); Toolbar mToolBar = (Toolbar) findViewById(R.id.imagePreviewToolbar); setSupportActionBar(mToolBar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(false); getSupportActionBar().setHomeButtonEnabled(true); }
Fotos
Espero haberlo ayudado.