Android: ¿Cómo cambiar el icono "Inicio" de ActionBar para que sea algo más que el ícono de la aplicación?
android-3.0-honeycomb android-actionbar (8)
El icono principal de mi aplicación consta de dos partes en una imagen: un logotipo y algunas letras debajo. Esto funciona bien para el ícono del iniciador de la aplicación, pero cuando el ícono aparece en el borde izquierdo de la barra de acciones, las letras se cortan y no se ve bien.
Me gustaría proporcionar al ActionBar una versión separada del ícono, con solo la parte del "logo" y no las letras debajo, pero hasta ahora ha estado vacío. Honestamente, no puedo encontrar ninguna respuesta a esto, y ni siquiera puedo encontrar la pregunta en sí misma en ninguna parte.
ActionBar utilizará el atributo android:logo de su manifiesto, si se proporciona uno. Eso le permite usar recursos dibujables por separado para el icono (Iniciador) y el logotipo (Barra de acción, entre otras cosas).
En AndroidManifest.xml:
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:name="com..."
android:theme="@style/Theme">...</Application>
En styles.xml: (Ver android:icon
)
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:icon">@drawable/icon</item>
</style>
Inspirado por TheIT, acabo de hacer que esto funcione al manipular el archivo de manifiesto, pero de una manera ligeramente diferente. Establezca el icono en la configuración de la aplicación para que la mayoría de las actividades obtengan el ícono. En la actividad en la que desea mostrar el logotipo, agregue el atributo logo de android: a la declaración de actividad. En el siguiente ejemplo, solo LogoActivity debería tener el logotipo, mientras que los demás se convertirán en ícono.
<application
android:name="com.your.app"
android:icon="@drawable/your_icon"
android:label="@string/app_name">
<activity
android:name="com.your.app.LogoActivity"
android:logo="@drawable/your_logo"
android:label="Logo Activity" >
<activity
android:name="com.your.app.IconActivity1"
android:label="Icon Activity 1" >
<activity
android:name="com.your.app.IconActivity2"
android:label="Icon Activity 2" >
</application>
Espero que esto ayude a alguien más a salir!
Por favor prueba esta línea
getSupportActionBar().setHomeAsUpIndicator(R.drawable.back_arrow);
Por favor, inténtelo, si el uso "extiende AppCompatActivity" y presente la barra de acciones.
ActionBar eksinbar=getSupportActionBar();
if (eksinbar != null) {
eksinbar.setDisplayHomeAsUpEnabled(true);
eksinbar.setHomeAsUpIndicator(R.mipmap.imagexxx);
}
Si está utilizando AppCompat, la única forma de establecer el icono de ActionBar en los dispositivos que ejecutan Gingerbread (API 10) o inferior es configurando el atributo android: icon en cada Activity en su manifiesto o configurando el dibujable programáticamente.
<manifest>
<application>
...
<activity android:name="com.your.ActivityName"
...
android:icon="@drawable/ab_logo"/>
...
</application>
</manifest>
Actualización: Tenga en cuenta, sin embargo, que el icono de la aplicación se anulará si establece el atributo android: icon en la Actividad de inicio. El único trabajo que conozco es tener una Splash o Dummy Activity que luego inicia tu actividad principal.
Tal vez quieras verificar esto, tienes todo lo que necesitas para los iconos de tu aplicación
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html
actualizar
Creo que de manera predeterminada usa el ícono de su iniciador ... Su mejor opción es crear una imagen separada ... Diseñado para la barra de acción y usar eso. Para ese control: http://developer.android.com/guide/topics/ui/actionbar.html#ActionItems
creando logo
en carpetas " drawable-...
" crear en todos ellos logo.png
. La ubicación de las carpetas: [YOUR APP]/app/src/main/res
En AndroidManifest.xml, agregue la línea: android:logo="@drawable/logo"
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:logo="@drawable/logo"
...
Eso es.