¿Cómo hacer que la barra de herramientas sea transparente?

Es auto post Q & A post Tengo ActionBar transparente que se superpone al diseño. Después de la migración a la última biblioteca de soporte, me vi obligado a deshacerme de ActionBar a favor de la barra de herramientas. Las viejas formas de hacerlo transparente y superponer ese diseño ya no funcionan.

 true true @style/TransparentActionBar   @android:color/transparent  

Todo lo que necesita es definir el tema que oculta la barra de acciones, definir el estilo de la barra de acciones con fondo transparente y establecer este estilo en el widget de la barra de herramientas. Tenga en cuenta que la barra de herramientas debe dibujarse como la última vista (en todo el árbol de vista)

   

Diseño:

     

Diseño de la barra de herramientas:

  

Crea tu archivo toolbar.xml con fondo de AppBarLayout es @null

       

y aquí está el resultado:

enter image description here

Comprobando el código fuente de ejemplo de Google descubrí cómo hacer que la barra de herramientas sea completamente transparente. Fue más simple de lo que pensaba. Solo tenemos que crear una forma simple dibujable como esta.

El nombre del toolbar_bg es toolbar_bg

     

Y luego en el fragmento o actividad … Agregue la barra de herramientas de esta manera.

   

Y aquí tendremos una barra de herramientas completamente transparente.

enter image description here

No agregue si lo hace, esto no funcionará.

Nota: si necesita AppBarLayout, configure la elevación en 0 para que no dibuje su sombra.

La barra de herramientas funciona como una vista, por lo que la respuesta es muy simple.

 toolbar.getBackground().setAlpha(0); 

Agregue la siguiente línea en style.xml

   

Ahora agregue la siguiente línea en style-v21,

   

y establece el tema como android: theme = “@ style / AppTheme”

Hará que la barra de estado sea transparente.

Simplemente use el siguiente código xml:

Código para el diseño:

  

Y agregue el siguiente código en colors.xml :

 #00FFFFFF 

Esto le dará el resultado deseado.

Implementé la barra de herramientas translúcida creando dos temas Theme.AppCompat.Light.NoActionBar y estableciendo el atributo colorPrimary en color transparente.

1) Crea dos temas Crea un tema con para la barra de herramientas opaca:

  

Segundo tema para la barra de herramientas transparente / superpuesta:

  

2) En el diseño de su actividad, coloque la barra de herramientas detrás del contenido para que pueda mostrarse frente a ella:

     

3) Aplica el tema transparente a tu actividad en AndroidManifest.xml

     

Quizás necesite echar un vistazo a esta barra de acciones transparente con AppCompat-v7 21

Puntos que la publicación sugiere son

  1. Solo asegúrese de usar RelativeLayout para colocar la barra de herramientas y el cuerpo.
  2. Ponga la barra de herramientas en el último.
  3. Colocar color transparente para android: atributo de fondo de la barra de herramientas

Esto debería resolver el problema sin demasiada molestia.

La forma más sencilla de hacer que una barra de herramientas sea transparente es definir una opacidad en la sección @colors , definir una sección TransparentTheme en @styles y luego poner estas definiciones en la barra de herramientas.

@ colors.xml

 #33000000 

@ styles.xml

  

@ activity_main.xml

  

Ese es el resultado:

Barra de herramientas transparente de captura de pantalla

Solo agrega android:background="@android:color/transparent" como se muestra a continuación en el diseño de tu barra de herramientas

   ` 

Sé que llego tarde a la fiesta. Creé una clase simple para administrar la transparencia de la Toolbar Google.

 import android.annotation.SuppressLint; import android.graphics.drawable.ColorDrawable; import android.support.v7.widget.Toolbar; public class TransparentToolbarManager { private Toolbar mToolbar; private ColorDrawable colorDrawable; public static final int MAX_ALPHA = 255, MIN_ALPHA = 0; public TransparentToolbarManager(Toolbar mToolbar) { this.mToolbar = mToolbar; this.colorDrawable = new ColorDrawable(mToolbar.getContext().getResources().getColor(R.color.colorPrimary)); } public TransparentToolbarManager(Toolbar mToolbar, ColorDrawable colorDrawable) { this.mToolbar = mToolbar; this.colorDrawable = colorDrawable; } //Fading toolbar public void manageFadingToolbar(int scrollDistance) { if (mToolbar != null && colorDrawable != null) { //FadeinAndOut according to the horizontal scrollValue if (scrollDistance <= MAX_ALPHA && scrollDistance >= MIN_ALPHA) { setToolbarAlpha(scrollDistance); } else if (scrollDistance > MAX_ALPHA) { setToolbarAlpha(MAX_ALPHA); } } } @SuppressLint("NewApi") public void setToolbarAlpha(int i) { colorDrawable.setAlpha(i); if (CommonHelper.isSupport(16)) { mToolbar.setBackground(colorDrawable); } else { mToolbar.setBackgroundDrawable(colorDrawable); } } } 

y CommonHelper.isSupport ()

 public static boolean isSupport(int apiLevel) { return Build.VERSION.SDK_INT >= apiLevel; } 

prueba debajo del código

    

style.xml

  

para Support Toolbar v7 android.support.v7.widget.Toolbar :

código

 toolbar.setBackground(null); // or toolbar.setBackgroundColor(ContextCompat.getColor(getContext(), android.R.color.transparent)); 

xml ( android:background="@null" o android:background="@android:color/transparent" )

    

si el título es invisible, configure textColor

Goto res paquete y abrir color.xml establecer color primario a # 00000000 es hecho.