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 una Activity 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.

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 ponga extends Activity, deber utilizar la función getActionBar().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 ponga extends AppCompatActivity, deberás utilizar la función getSupportActionBar().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