Establecer el logotipo de la barra de herramientas en XML

¿Es posible establecer el logotipo de la barra de herramientas en xml? He intentado esto hasta ahora:

1.

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ... android:logo="@drawable/my_logo" /> 

2.

 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" ... app:logo="@drawable/my_logo" /> 

EDITAR

Estoy usando la barra de herramientas como una barra de acción en mi AppCompatActivity:

 setSupportActionBar(findViewById(R.id.toolbar)); 

Soy capaz de establecer el logotipo de código:

 ((Toolbar) findViewById(R.id.toolbar)).setLogo(R.drawable.my_logo); 

Pero me gustaría establecer el logo de XML de diseño o XML de estilo / tema.

En realidad se puede, pero no funcionará bien con el nombre en la barra de herramientas. Simplemente puede poner ImageView en el cuerpo de la barra de herramientas, como lo hace con Layout.

 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" app:logo="@drawable/my_logo"/> <android.support.v7.widget.Toolbar/> 

Mejor si usted hará esto desde el código:

 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); toolbar.setNavigationIcon(R.drawable.my_logo); 

Hacer cambio

 app:logo="@drawable/my_logo" 

a

 app:navigationIcon="@drawable/my_logo" 

ACTUALIZAR

Añadir Linearlayout en su barra de herramientas xml tag.

 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/grey" > <LinearLayout android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="wrap_content"> <ImageView android:id="@+id/media_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" android:contentDescription="new post image" android:scaleType="centerCrop" android:visibility="visible" /> <TextView android:id="@+id/toolbar_subtitle" android:textSize="14sp" android:layout_gravity="center" android:textColor="@color/black" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 

Para mostrar el icono de logotipo, establezca este icono en Runtime en ActionBar.

 getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setIcon(@drawable/my_logo); 

Esta podría ser la respuesta:

  <Toolbar android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" android:id="@+id/atc_toolbar" android:background="?android:attr/colorPrimaryDark" android:elevation="4dp" android:navigationIcon="@android:drawable/ic_menu_compass" android:logo="@android:drawable/ic_menu_view" android:title="My application"> </Toolbar> 

En mi caso el resultado se parece a esto:

Barra de herramientas con logotipo y navegación

Si por alguna razón no aparece el logo, entonces intenta iniciar un nuevo proyecto, agrega sólo los atributos layout_width, layout_height, id y logo. Recuerde agregar la barra de herramientas en onCreate a través de setActionBar o setSupportActionBar. Saludos, P.

Uso de xml solamente

 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="ActionbarLogo"> <item name="android:logo">@drawable/ic_menu_camera</item> <item name="android:displayOptions">useLogo</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:actionBarStyle">@style/ActionbarLogo</item> <item name="windowNoTitle">true</item> </style> 

A continuación, aplique el tema AppTheme.NoActionBar a su actividad (y si desea eliminar el título de la barra de herramientas use getSupportActionBar (). SetDisplayShowTitleEnabled (false), después de setSupportActionBar (barra de herramientas);)

 <activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> 
  • Línea de diseño de materiales que rompe las reglas
  • Android - Color del botón material
  • ¿Cómo utilizar ItemAnimator en un RecyclerView?
  • ¿Cómo obtener las preferencias del sistema Android?
  • Cómo utilizar TextInputLayout con Theme.material?
  • AppCompat v22.1.0 no theming todos los widgets xml correctamente para fragmentos
  • Los botones de la barra de herramientas no responden al tacto cuando está abierto un cajón de navegación
  • Android L - Botón de acción flotante (FAB)
  • Android v21 Theme.Appcompat acento de color se ignora, sin relleno en los diálogos
  • Fondo degradado en la barra de herramientas temática material
  • Sugerencias de diseño de material para listas con avatar, texto e icono
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.