Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: hacer una aplicación de pantalla completa

¿Cuál es el cambio más sencillo que puedo hacer en una nueva actividad en blanco, creada por la última versión de Android Studio, para que la aplicación aparezca en pantalla completa?

Quiero crear una aplicación Android de pantalla completa. Estoy trabajando con Android Studio. Este post sugiere que añado una línea como …

android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"

… al archivo AndroidManifest.xml, como se muestra a continuación:

  <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lexogram.james.blackslate" > <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.lexogram.james.blackslate.MainActivity" android:label="@string/app_name" android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

Cuando hago esto, la aplicación compila pero se bloquea en el lanzamiento. Si elimino la línea, la aplicación funciona bien, pero con la barra de acción y una barra de título, como también lo han observado otros usuarios.

Este es mi primer intento de crear una aplicación para Android, por lo que mi aplicación no se modifica del ejemplo original de Hello World.

EDIT: He creado un nuevo proyecto, y he hecho sólo un cambio a la misma. Aquí hay un extracto del registro de errores:

 FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lexogram.james.test/com.lexogram.james.test.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)... 

NOTA: Estoy probando en un viejo Samsung SGH-T499Y, con Android 2.2 (Froyo)

  • Android Actionbar navegación spinner color de texto
  • Cómo utilizar android: Theme.Material (tema material) en styles.xml android?
  • Establecer tema para un fragmento
  • Uso de los colores para el nuevo tema de diseño de material en Android
  • ¿Cuál es el color hexadecimal predeterminado de la barra de acción Holo.Light.DarkActionBar?
  • ActionBarSherlock - Estilo contiene clave con entrada incorrecta
  • Cómo cambiar el color de texto del botón de Android de forma global en el tema
  • Personalización de las pestañas de ActionBar en Android 4
  • 7 Solutions collect form web for “Android: hacer una aplicación de pantalla completa”

    Usted está recibiendo este problema porque la actividad que está tratando de aplicar el android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> está extendiendo ActionBarActivity que requiere el tema de AppCompat que se aplicará.

    Amplíe su actividad de Activity lugar de ActionBarActivity

    Es posible que tenga que cambiar su clase Java en consecuencia poco.

    Si desea eliminar la barra de estado también, use esto antes de setContentView(layout) en el método onCreateView

      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    Solo haz esto en tu archivo de manifiesto en tu etiqueta de actividad

     android:theme="@style/Theme.AppCompat.Light.NoActionBar" 

    Simplemente agregue el siguiente atributo a su tema actual:

     <item name="android:windowFullscreen">true</item> 

    Por ejemplo:

     <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/orange</item> <item name="colorPrimaryDark">@android:color/holo_orange_dark</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style> 

    En mi caso todo funciona bien. Ver en logcat. Tal vez logcat mostrar algo que puede ayudarle a resolver su problema

    De todos modos puede intentar hacerlo programáticamente:

      public class ActivityName extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // remove title requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); } } 

    Actualizar respuesta He añadido android:windowIsTranslucent en caso de que tenga pantalla en blanco en el inicio de la actividad

    Sólo cree un nuevo estilo en values ​​/ styles.xml

     <?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!-- to hide white screen in start of window --> <item name="android:windowIsTranslucent">true</item> </style> </resources> 

    Desde tu estilo de añadir AndroidManifest.xml a tu actividad

    android:theme="@style/AppTheme"

    Ser así

     <activity android:name=".Splash" android:theme="@style/AppTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    En la llamada onCreate

     requestWindowFeature(Window.FEATURE_NO_TITLE); // for hiding title getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 

    Recientemente tuve el mismo problema y se beneficiaron de la siguiente publicación también (además de la solución de Rohit5k2 anterior):

    https://bsgconsultancy.wordpress.com/2015/09/13/convert-any-website-into-android-application-by-using-android-studio/

    En el paso 3, MainActivity extiende la Activity lugar de ActionBarActivity (como Rohit5k2 mencionado). Poner los elementos de tema NoTitleBar y Fullscreen en los lugares correctos en el archivo AndroidManifest.xml también es muy importante (eche un vistazo al Paso 4).

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.