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.
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).
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.
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)));
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);
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. :)
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.
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);
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í.
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);
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á.
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)));
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);
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.)
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
..... ... ...
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>
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).
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" />
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);
}
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