working studio settitle setsupportactionbar not getsupportactionbar empty bar activity java android android-actionbar

java - studio - setsupportactionbar title



Actividad de Android sin ActionBar (8)

Tengo diferentes Activities en mi aplicación y en todas ellas no quiero la Action Bar . No puedo encontrar cómo desactivarlo. He intentado encontrar un atributo para aplicarlo a main_activity.xml pero hasta ahora no he encontrado nada. ¿Puede alguien ayudarme por favor?


Crea un nuevo estilo con cualquier nombre, en mi caso "Theme.Alert.NoActionBar"

<style name="Theme.Alert.NoActionBar" parent="Theme.AppCompat.Dialog"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> </style>

establece su padre como "Theme.AppCompat.Dialog" como en el código anterior

abra AndoridManifest.xml y personalice la actividad que desea mostrar como diálogo de alerta como este

<activity android:excludeFromRecents="true" android:theme="@style/Theme.Alert.NoActionBar" android:name=".activities.UserLoginActivity" />

en mi aplicación quiero mostrar mi actividad de inicio de sesión de usuario como Diálogo de alerta, estos son los códigos que utilicé. ¡¡¡Espero que esto funcione para usted!!!


Hay múltiples formas de hacer esto.

1) Cambiar el tema en Android Manifiesto

Debajo del elemento Aplicación, encontrarás la etiqueta del tema. Reemplácelo con este -

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

Si está utilizando AppCompat, use @android:style/Theme.AppCompat.NoActionBar .

Esto establecerá el tema para todas las actividades. Si no necesita la barra de acciones en una actividad específica, configure el tema en el contenedor de actividades, es decir,

<activity android:theme="@android:style/Theme.NoTitleBar" ...>

También puede establecer el android:theme="@android:style/Theme.NoTitleBar" en los estilos y usarlo más adelante.

2) Crea un tema personalizado

Agregue esto en res/values/styles.xml

<style name="NoActionBar" parent="@android:style/Theme.Holo.Light"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style>

y luego configúralo como el tema de tu actividad en Manifiesto:

<activity android:theme="@style/NoActionBar" ... />

3) Eliminar dinámicamente la barra de acciones

Coloque este código en el método onCreate antes de configurar la vista de contenido -

getWindow().requestFeature(Window.FEATURE_ACTION_BAR); getActionBar().hide();

Si está utilizando la biblioteca de soporte, use getSupportActionBar() .


Jaja, me he quedado atrapado en ese punto hace un tiempo, así que estoy contento de poder ayudarte con una solución, que funcionó para mí al menos :)

Lo que quiere hacer es definir un nuevo estilo dentro de values ​​/ styles.xml para que se vea así

<resources> <style name = "AppTheme" parent = "android:Theme.Holo.Light.DarkActionBar"> <!-- Customize your theme here. --> </style> <style name = "NoActionBar" parent = "@android:style/Theme.Holo.Light"> <item name = "android:windowActionBar">false</item> <item name = "android:windowNoTitle">true</item> </style> </resources>

Solo el estilo NoActionBar es interesante para usted. Por último, debe establecer como el tema de su aplicación en AndroidManifest.xml para que se vea así

<application android:allowBackup = "true" android:icon = "@drawable/ic_launcher" android:label = "@string/app_name" android:theme = "@style/NoActionBar" <!--This is the important line--> > <activity [...]

Espero que esto ayude, si no, házmelo saber.


Si desea que la mayoría de sus actividades tengan una barra de acción, probablemente herede su tema base del predeterminado (esto es generado automáticamente por Android Studio por defecto):

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

Y luego agrega un tema especial para tu actividad sin barra:

<style name="AppTheme.NoTitle" parent="AppTheme"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> <item name="actionBarTheme">@null</item> </style>

Para mí, establecer actionBarTheme en @null fue la solución.

Finalmente configure la actividad en su archivo de manifiesto:

<activity ... android:theme="@style/AppTheme.NoTitle" ... >


Si usa AppCompat , declare su actividad en AndroidManifest.xml de la siguiente manera:

<activity android:name=".SomeActivity" ... android:theme="@style/Theme.AppCompat.Light.NoActionBar" />


También puede cambiar la herencia de ActionBarActivity a Activity como está escrito here .

ACTUALIZAR

Una buena solución está here :

@Override protected void onCreate(Bundle savedInstanceState) { getWindow().requestFeature(Window.FEATURE_ACTION_BAR); super.onCreate(savedInstanceState); getSupportActionBar().hide(); setContentView(R.layout.activity_main); }


Teniendo en cuenta que todo el mundo está publicando formas más antiguas de ocultar el ActionBar, aquí está la forma correcta de implementarlo dentro de los estilos para la biblioteca de soporte de AppCompat. A lo que sugiero encarecidamente que avance si aún no lo ha hecho.

Simplemente eliminando la barra de acciones

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> </style>

Si está utilizando las bibliotecas de soporte de appcompat, esta es la manera más fácil y recomendada de ocultar ActionBar para hacer una pantalla completa o comenzar a implementarla en sus diseños.

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Your Toolbar Color--> <item name="colorPrimary">@color/primary</item> <!-- colorPrimaryDark is used for the status bar --> <item name="colorPrimaryDark">@color/primary_dark</item> <!-- colorAccent is used as the default value for colorControlActivated, which is used to tint widgets --> <item name="colorAccent">@color/accent</item> <!-- You can also set colorControlNormal, colorControlActivated colorControlHighlight, and colorSwitchThumbNormal. --> </style>

Luego, para cambiar el color de la barra de herramientas

<android.support.v7.widget.Toolbar android:id=”@+id/my_awesome_toolbar” android:layout_height=”wrap_content” android:layout_width=”match_parent” android:minHeight=”?attr/actionBarSize” android:background=”?attr/primary” />

Última nota: su clase de actividad debe extender AppCompatActivity

public class MainActivity extends AppCompatActivity { <!--Activity Items --> }


Trataré de mostrarlo de la manera más simple posible:

DECLARAR LA ACTIVIDAD DE LA PANTALLA COMPLETA EN EL ARCHIVO MAINIFEST ANDROID:

<activity android:name=".GameActivity" android:label="@string/title_activity_game" android:theme="@android:style/Theme.NoTitleBar.Fullscreen">

Ahora, en el estudio de Android (si lo usa) abra su archivo Activity xml (en mi ejemplo activity_game.xml) en el diseñador y seleccione el tema (encima del teléfono móvil en el botón de clic del diseñador con un círculo pequeño) y luego seleccione Mainfest Themes en el lado izquierdo y luego NoTitleBar.Fullscreen.

Espero que ayude!