¿Cómo se elimina el texto del título de la barra de acciones de Android?


106

Estoy revisando el Holo.Lighttema y parece que no puedo encontrar el estilo mágico que anular para deshacerme del texto del título que aparece brevemente cuando mi aplicación se inicia por primera vez.

¿Cómo puedo hacer eso?

Respuestas:


216

Tratar:

 getActionBar().setDisplayShowTitleEnabled(false);

Para la versión 7:

 getSupportActionBar().setDisplayShowTitleEnabled(false);

22
aún verá el título mientras se carga la barra de acción, que no es lo que desea. la solución correcta es la que sugirió m3n0R.
numan salati

12
debería ser getSupportActionBar (). setDisplayShowTitleEnabled (false); para v7. de lo contrario, producirá una excepción de puntero nulo
Amir

5
@numansalati ¿Quién es m3n0R? Busqué en la página y no encontré nada
ka3ak

¿Cuándo debo llamar a los métodos? Quiero decir, ¿desde qué método (actividad, fragmento) debería llamarse?
ka3ak

94

Creo que esta es la respuesta correcta:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="android:displayOptions">showHome|useLogo</item>
    <item name="displayOptions">showHome|useLogo</item>
</style>

¿Qué pasa con Android 4? No estoy usando ActionBarSherlock, por lo que no hay ningún recurso nombrado Widget.Sherlock.Light.ActionBar.Solid.Inverse. ¿Qué padre debo usar?
Alex Semeniuk

Tema Holo. Por defecto, hay 3 temas holográficos que puede ampliar.
cesards

Esto funciona para ocultar el título en el primer lanzamiento. En otra actividad, llamar a setTitle no funciona. ¿Hay alguna forma de intercambiar estilos de barra de acción en tiempo de ejecución?
speedynomads

configuración del tema predeterminado en tiempo de ejecución :)
cesards

@ domji84, puede especificar el tema de cada actividad en el archivo de manifiesto.
ashishduh

63

Soy muy nuevo en Android, así que corrígeme si me equivoco, pero creo que si decides usar las pestañas de navegación en la barra de acción, parece que no están completamente alineadas a la izquierda porque el color del texto del título solo es transparente y no tiene se ha ido.

<style name="CustomActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
     <item name="android:displayOptions">useLogo|showHome</item>
</style>

trabajó para mi.


sí, estás equivocado, sin pestañas en cuestión y sin luz holográfica en tu respuesta
miky

Mientras intento esto, aparece este error, @android: style / Widget.Holo.ActionBar requiere API nivel 11 (el mínimo actual es 10).
jrhamza

Si quiero asignar este estilo a la barra de acciones de una actividad específica y no a todas las actividades de mi aplicación. ¿Cómo puedo hacerlo? ¿Dónde pongo la línea 'android: displayOptions'? en Menu.xml? ¿En AndroidMenifest.xml?
GyRo

43

Entendido. Tienes que anular

android:actionBarStyle

y luego, en su estilo personalizado, debe anular

android:titleTextStyle

Aquí tienes una muestra.

En mi themes.xml:

<style name="CustomActionBar" parent="android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarStyle</item>
</style>

Y en mi styles.xml:

<style name="CustomActionBarStyle" parent="android:style/Widget.Holo.ActionBar">
        <item name="android:titleTextStyle">@style/NoTitleText</item>
        <item name="android:subtitleTextStyle">@style/NoTitleText</item>
</style>

<style name="NoTitleText">
        <item name="android:textSize">0sp</item>
        <item name="android:textColor">#00000000</item>
</style>

No estoy seguro de por qué establecer textSize en cero no funcionó (encogió el texto, pero no hizo que desapareciera), pero configurar textColor en transparente funciona.


3
Sí, eso ayudó. ¿Alguna idea de por qué android:visibility=goneno tiene ningún efecto? O mejor aún, ¿por qué setDisplayShowTitleEnabledsigue mostrando el texto del título mientras se carga la barra?
Matthias

7
Use <item name = "android: displayOptions"> useLogo | showHome </item> en lugar de establecer el tamaño en 0
Jerome VDL

23

En tu manifiesto

<activity android:name=".ActivityHere"
     android:label="">

33
Esto funciona, pero evitará que su aplicación aparezca en el selector 'Aplicaciones utilizadas recientemente'
Rupert Bates

1
esto hace que la aplicación no tenga nombre en las aplicaciones del teléfono / pantalla principal
Nimitack

13

Escriba esta declaración debajo

setContentView(R.layout.activity_main);

getSupportActionBar().setDisplayShowTitleEnabled(false);

si se extiende el uso de AppCompactActivity getSupportActionbar()si se extiende el uso de actividad, de lo getActionBar()contrario, puede dar

null pointer exception

usar android:label=""in AndroidManifest.xml para la actividad también funciona, pero su aplicación no aparecerá enRecently used apps


9

tienes dos opciones:

primero:

getActionBar().setDisplayShowTitleEnabled(false);

Si usign getActionBar()produjo una excepción de puntero nulo, debe usar getSupportActionBar()

Second

getSupportActionBar().setTitle("your title");

o

getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().hide();

6

uso este código en el manifiesto de la aplicación

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:logo="@drawable/logo2"
        android:label="@string/title_text"
        android:theme="@style/Theme.Zinoostyle" >

mi archivo de logotipo es de 200 * 800 píxeles y uso este código en la actividad principal.java

getActionBar().setDisplayShowTitleEnabled(false);

funcionará correctamente


6

Intenté esto. Esto ayudará -

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

getSupportActionBar debe llamarse después de setSupportActionBar, configurando así la barra de herramientas; de lo contrario, NullpointerException porque no hay un conjunto de barras de herramientas. Espero que esto ayude


5

Puede cambiar el estilo aplicado a cada actividad, o si solo desea cambiar el comportamiento para una actividad específica, puede probar esto:

setDisplayOptions(int options, int mask) --- Set selected display 
  or
setDisplayOptions(int options) --- Set display options.

Para mostrar el título en la barra de acciones, configure las opciones de visualización en onCreate ()

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE, ActionBar.DISPLAY_SHOW_TITLE);

Para ocultar el título en la barra de acciones.

getSupportActionBar().setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);

Detalles aquí .


3

Lo único que realmente funcionó para mí fue agregar:

<activity 
    android:name=".ActivityHere"
    android:label=""
>

Bueno, fue la respuesta "incorrecta", sin embargo, me ayudó con un caso similar :)
Javier

1
No haga esto, ya que bloqueará su aplicación cuando se minimice
jfcartier

3
getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().hide();

espero que esto ayude


2

Utilice lo siguiente:

requestWindowFeature(Window.FEATURE_NO_TITLE);

No puede hacer eso si está usando ActionBar. Si intenta hacer esto, la aplicación se bloqueará inmediatamente cuando se abra.
Christopher Perry

@ChristopherPerry no es cierto. puede usar esto para eliminar la barra de acción en el código, siempre que lo haga antes de llamar a setContentView.
numan salati

sin embargo, esto es eliminar toda la barra de acciones en lugar de solo su título.
bofredo

2

Si solo desea hacerlo para una actividad y tal vez incluso de forma dinámica, también puede usar

ActionBar actionBar = getActionBar();
actionBar.setDisplayOptions(actionBar.getDisplayOptions() ^ ActionBar.DISPLAY_SHOW_TITLE);

1

como solución, simplemente agregue esta línea en caso de que tenga acciones / barras de herramientas personalizadas

this.setTitle("");

en tu actividad


1

Si bien todos estos son aceptables, si su actividad solo contiene una actividad principal, puede editar res\values\styles.xmlasí:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>

</resources>

He actualizado parenty añadido la propiedad .NoActionBar con el tema Luz Estudios Android de Create Blank ApplicationAsistente.


Eso deshabilitará toda la barra de acción, no solo el título. Y si desea crear una barra de acción en blanco, tendrá que hacerlo para cada vista.
AlwaysConfused

1

Simplemente extiende tu archivo java desde AppCompatActivityy haz esto:

ActionBar actionBar = getSupportActionBar(); // support.v7
actionBar.setTitle(" ");

0

En su página manifest.xml puede dar la dirección a su etiqueta de actividad. la dirección está en algún lugar de sus valores / strings.xml. luego puede cambiar el valor de la etiqueta en el archivo xml a nulo.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title_main_activity"></string>
</resources>

0

Soy nuevo en Android, así que tal vez me equivoque ... pero para resolver este problema, ¿no podemos simplemente ir al manifiesto y eliminar la etiqueta de actividad?

<activity
        android:name=".Bcft"
        android:screenOrientation="portrait"

        **android:label="" >**

Trabajó para mi....


-3
ActionBar actionBar = getActionBar();
actionBar.setTitle("");

3
@Matteo Aunque puede funcionar, ciertamente es incompleto y no es la forma correcta de hacerlo. De hecho, en realidad no elimina el texto del título, simplemente lo establece en "", para que no pueda verlo.
user1234
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.