06 Ago Como quitar la ActionBar/ToolBar de mi aplicación Android
Como quitar la ActionBar/ToolBar de mi aplicación Android
Aquí os dejo 3 opciones de como quitar la barra superior de nuestra Aplicación Android .
Como quitar la ActionBar/ToolBar de mi aplicación Android
OPCIÓN 1:
En esta opción nos dirigimos al archivo Manifest.xml
de nuestro proyecto y utilizamos el caso que necesitemos. En cualquiera de los dos casos debemos añadir en nuestro código la siguiente linea:
android:theme="@style/Theme.AppCompat.NoActionBar"
- En caso de querer que en nuestra app no aparezca en ningún momento la ActionBar, es decir, eliminarla por completo de nuestra app, debemos introducir la linea anterior en la etiqueta de
<application.../>
, tal y como se muestra en el siguiente ejemplo:<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- En caso de querer eliminar la
ActionBar
solo de unaActivity
debemos introducir la linea dentro de la etiqueta<activity.../>
, como se muestra en el siguiente ejemplo:<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
- En caso de querer eliminarla en varias
Activities
, se puede repetir tantas veces como se quiera el segundo caso.
- En caso de querer eliminarla en varias
OPCIÓN 2:
Esta opción es de forma programática utilizando la función hide()
, pero existe una pequeña pega con la que estuve peleándome unos cuantos días. Por lo que en esta opción existen dos casos importantes:
- Si estas creando una aplicación compatible solo con la ultima versión de Android, es decir, que en la declaración de la clase de tu
MainActivity.java
pongaextends Activity
, deber utilizar la funcióngetActionBar().hide();
. Justo como en el ejemplo:public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().hide(); }
}
- En caso contrario y el caso más común, en que en tu
MainActivity.java
pongaextends AppCompatActivity
, deberás utilizar la funcióngetSupportActionBar().hide();
, como en el ejemplo:public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getSupportActionBar().hide(); }
}
Hay que remarcar que esta función siempre se tiene que poner después de la linea de código setContentView()
.
OPCIÓN 3:
Como ultima opción más común para ocultar la ActionBar
, también utilizamos una función de forma programática y además, como existe una gran fragmetación de las versiones Android, debemos utilizar el caso que más se adecue a nuestra app.
- Justo como en la OPCIÓN 2, en caso de utilizar la ultima version en nuestra app, utilizamos la función
requestWindowFeature(Window.FEATURE_NO_TITLE);
:public class MainActivity extends Activity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); }
}
- Y en caso contrario, de utilizar la compatibilidad de versiones, utilizamos la función
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
public class MainActivity extends AppCompatActivity {@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); supportRequestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); }
}
Cabe destacar que esta linea SIEMPRE se escribirá por justo arriba de la linea de código setContentView()
.
OPCIÓN 4 (1 BIS): Una alternativa similar a la OPCIÓN 1 es hacer un «Theme» para nuestra aplicacion que herede desde los themes del SO. Esta opción nos deja abierta la posibilidad de personalizar mejor el diseño.
En el archivo styles.xml (res/values/styles.xml)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
Y en el manifest en la etiqueta application agregar
android:theme="@style/AppTheme"
el cual quedaría algo como:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true">
<activity
android:name=".MainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Cabe destacar que actualmente al crear un proyecto nuevo desde Android Studio el código generado es del estilo de esta última alternativa (salvo el theme desde el que se hereda).
Autor: http://es.stackoverflow.com/questions/8237/como-quitar-la-actionbar-toolbar-de-mi-aplicaci%C3%B3n-android