Eliminar icono / logotipo de la barra de acción en Android


He estado tratando de encontrar alguna manera de eliminar el icono/logotipo de la barra de acción, pero lo único que he encontrado después de una hora de búsqueda POR lo QUE, la documentación de Android y Google es cómo eliminar la barra de título en su totalidad. Eso no es lo que quiero. Solo desea eliminar el icono / logotipo de la barra de título.

¿Alguien sabe cómo lograr esto? Preferiblemente me gustaría hacer esto en XML.

Author: Denis Kniazhev, 2013-01-30

18 answers

Si has definido android:logo="..." en la etiqueta <application> de tu AndroidManifest.xml, entonces necesitas usar esto para ocultar el icono:

Tema anterior a v11

<item name="logo">@android:color/transparent</item>

V11 y tema superior

<item name="android:logo">@android:color/transparent</item>

El uso de estos dos estilos ha ocultado correctamente el icono de la barra de acciones en un dispositivo 2.3 y 4.4 para mí (esta aplicación utiliza AppCompat).

 57
Author: Charles Madere,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-10 21:12:24

Agregue el siguiente código en sus estilos de barra de acciones:

<item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
<item name="displayOptions">showHome|homeAsUp|showTitle</item>
<item name="android:icon">@android:color/transparent</item> <!-- This does the magic! -->

PD: Estoy usando Actionbar Sherlock y esto funciona muy bien.

 228
Author: Qiqi Abaziz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-04-13 14:40:22

Si no desea que el icono en particular de la actividad.

getActionBar().setIcon(
   new ColorDrawable(getResources().getColor(android.R.color.transparent)));    
 114
Author: Laksh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-05 09:19:55

Esto funcionó para mí

getActionBar().setDisplayShowHomeEnabled(false);
 47
Author: Brune,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-10 06:54:30

Llamando

mActionBar.setDisplayHomeAsUpEnabled(true);

Además de,

mActionBar.setDisplayShowHomeEnabled(false);

Ocultará el logotipo pero mostrará el icono de Inicio Como Hacia Arriba. :)

 27
Author: Atul O Holic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-20 14:23:38

Tenga en cuenta que:

<item name="android:icon">@android:color/transparent</item>

También hará que sus elementos de opciones sean transparentes.

 15
Author: Tevlon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-11 10:32:02
    //disable application icon from ActionBar
    getActionBar().setDisplayShowHomeEnabled(false);

    //disable application name from ActionBar
    getActionBar().setDisplayShowTitleEnabled(false);
 11
Author: Pawel Miechowiecki,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-13 12:10:16
getActionBar().setIcon(android.R.color.transparent);

Esto funcionó para mí.

 10
Author: dn_c,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-18 06:24:44

Eliminar o mostrar el título usando:

getActionBar().setDisplayShowTitleEnabled(true);

Eliminar o mostrar el logotipo usando:

getActionBar().setDisplayUseLogoEnabled(false);

Eliminar todo:

getActionBar().setDisplayShowHomeEnabled(false);
 9
Author: Tiago Gouvêa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-28 12:38:28

También puede agregar el siguiente código en AndroidManifest.xml .

android:icon="@android:color/transparent"

Funcionará bien.

Pero me di cuenta de que esto da un problema como el icono del lanzador también se vuelven transparentes.

Así que usé:

getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));

Y funcionó bien.

Pero si está teniendo más de una actividad y desea que el icono de una actividad sea transparente, entonces el enfoque anterior funcionará.

 9
Author: Sam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-27 19:17:05

Usé esto y funcionó para mí.

        getActionBar().setIcon(
        new ColorDrawable(getResources().getColor(android.R.color.transparent)));
 2
Author: user2900761,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-30 10:09:56
getActionBar().setIcon(new ColorDrawable(getResources().getColor(android.R.color.transparent)));
getActionBar().setDisplayHomeAsUpEnabled(true);
 2
Author: user3748515,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-09 12:53:30

Creo que la respuesta exacta es: para api 11 o superior:

getActionBar().setDisplayShowHomeEnabled(false);

De lo contrario:

getSupportActionBar().setDisplayShowHomeEnabled(false);

(porque necesita una biblioteca de soporte.)

 1
Author: David,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-16 13:23:03

Vaya a su manifiesto y encuentre la etiqueta de la aplicación

  android:icon="@android:color/transparent"// simply add this on place of your icon

..... ... ...

 1
Author: Avinash Ajay Pandey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-07 10:25:11

La respuesta de Qiqi Abaziz está bien, pero todavía tuve problemas durante mucho tiempo para que funcionara con el paquete de compatibilidad y para aplicar el estilo a los elementos correctos. Además, el truco de transparencia es innecesario. Así que aquí hay un ejemplo completo que funciona para v8 y arriba:

Valores \ estilos.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyActivityTheme" parent="@style/Theme.AppCompat">
        <item name="actionBarStyle">@style/NoLogoActionBar</item> <!-- pre-v11-compatibility -->
        <item name="android:actionBarStyle">@style/NoLogoActionBar</item>
    </style>
    <style name="NoLogoActionBar" parent="@style/Widget.AppCompat.ActionBar">
        <item name="displayOptions">showHome</item> <!-- pre-v11-compatibility -->
        <item name="android:displayOptions">showHome</item>
    </style>
</resources>

AndroidManifest.xml (shell)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">   
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19"/>
    <application android:theme="@android:style/Theme.Light.NoTitleBar">
        <activity android:theme="@style/PentActivityTheme"/>
    </application>
</manifest>
 0
Author: Nilzor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-01 11:12:29

Entra en tu manifiesto y encuentra tu actividad luego agrega este código:

android:theme="@android:style/Theme.NoTitleBar"

Por encima de la línea ocultar su Actionbar.

Si necesita otra característica, puede ver otras opciones con (CLR + SPC).

 0
Author: A.A,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-09-25 12:16:08

La forma más rápida es modificar tu Manifiesto.XML. Si por ejemplo desea eliminar el logotipo de la actividad "Actividad", y dejar el logotipo en otras actividades, puede hacer lo siguiente:

<activity
      android:name=".home.XActivity"
      android:logo="@android:color/transparent"
      android:configChanges="orientation|keyboardHidden" />
 <activity
      android:name=".home.HomeActivity"
      android:configChanges="orientation|keyboardHidden" />
 0
Author: Jordi Alonso,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-28 10:02:20

getSupportActionBar().setDisplayShowHomeEnabled(false); en su actividad

Ex:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_layout);

    //in this line
    getSupportActionBar().setDisplayShowHomeEnabled(false);
}
 -1
Author: rahmad setiawan mukminullah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-19 08:16:46