¿El icono del logotipo de la barra de herramientas se puede hacer clic?

He utilizado la barra de herramientas por lo que ahora quiero aplicar clic evento sobre icono de logotipo ¿cómo puedo obtener este evento?

Aquí hay algo de codificación que he hecho

Toolbar toolbar = null; toolbar = (Toolbar) findViewById(R.id.actionToolbar); setSupportActionBar(toolbar); setTitle(null); toolbar.setNavigationIcon(R.drawable.back); toolbar.setNavigationContentDescription("BACK"); toolbar.setLogo(R.drawable.ic_launcher); toolbar.setLogoDescription("LOGO"); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Nav", Toast.LENGTH_SHORT).show(); } }); 

Aquí he configurado el icono de navegación y el icono de logotipo por lo que ahora quiero icono del logotipo haga clic en el evento, ¿cómo es posible?

Usted necesita conseguir la primera referencia de él

 View logoView = getToolbarLogoView(toolbar); logoView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //logo clicked } }); 

Usando la descripción del contenido podemos obtener la referencia de la View . Ver los comentarios en línea.

 public static View getToolbarLogoIcon(Toolbar toolbar){ //check if contentDescription previously was set boolean hadContentDescription = android.text.TextUtils.isEmpty(toolbar.getLogoDescription()); String contentDescription = String.valueOf(!hadContentDescription ? toolbar.getLogoDescription() : "logoContentDescription"); toolbar.setLogoDescription(contentDescription); ArrayList<View> potentialViews = new ArrayList<View>(); //find the view based on it's content description, set programatically or with android:contentDescription toolbar.findViewsWithText(potentialViews,contentDescription, View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION); //Nav icon is always instantiated at this point because calling setLogoDescription ensures its existence View logoIcon = null; if(potentialViews.size() > 0){ logoIcon = potentialViews.get(0); } //Clear content description if not previously present if(hadContentDescription) toolbar.setLogoDescription(null); return logoIcon; } 

Me estaba haciendo la misma pregunta y me encontré con esto. Tomé un acercamiento similar a Nikola Despotoski pero con una puesta en práctica diferente.

En lugar del método, lo que hice fue:

 // Set drawable toolbar.setLogo(ContextCompat.getDrawable(context, R.drawable.logo)); // Find logo View view = toolbar.getChildAt(1); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Perform actions } }); 

Un poco hack-ish, pero volveré revisarlo un poco más tarde. Compartir para fines de discusión.

  • ¿Cómo agregar un único elemento de menú a la barra de herramientas de android?
  • ¿Cómo crear una vista desplegable como Google Calendar con la barra de herramientas?
  • Establecer el estilo de fuente en negrita del menú de la barra de herramientas appcompat
  • Android.support.v7.widget.Toolbar icon problema de alineación
  • Android open Imagen onclick como Whatsapp Foto del perfil
  • ¿Es posible agregar vista de imagen en una barra de herramientas?
  • Mostrar una animación de barra de herramientas oculta no suave
  • ¿Cómo implementar el evento de clic en el icono de la barra de herramientas?
  • Android RecyclerView debajo de la barra de herramientas
  • Flecha hacia arriba que falta de 4.1 Barra de herramientas
  • Barra de herramientas se mueve fuera de la pantalla cuando uso adjustpan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.