you with theme style studio need dark apptheme application activity android appcompat appcompatactivity app-themes

android - with - Cómo solucionarlo: "Es necesario utilizar un tema Theme.AppCompat(o descendiente) con esta actividad"



themes android studio (2)

Tengo problemas para ejecutar mi aplicación de Android en modo de pantalla completa según las instrucciones de un video. Cuando intenta ejecutarse, la aplicación se bloquea con el error.

"You need to use a Theme.AppCompat theme (or descendant) with this activity

Archivo de manifiesto

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.djsg38.hikerswatch"> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

Archivo de estilos

<resources> <!-- 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>

MainActivity parcial que puede ser útil

public class MainActivity extends AppCompatActivity {


Si agrega android:theme="@style/Theme.AppCompat.Light" a <application> en el archivo AndroidManifest.xml, el problema está resolviendo.


Su aplicación tiene un tema de AppCompat

<application android:theme="@style/AppTheme">

Pero, sobreescribió la Actividad (que extiende AppCompatActivity) con un tema que no es descendiente de un tema AppCompat

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

Podría definir su propio tema de pantalla completa como tal (observe AppCompat en el parent= )

<style name="AppFullScreenTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowActionBar">false</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style>

Entonces ponlo en la Actividad.

<activity android:name=".MainActivity" android:theme="@style/AppFullScreenTheme" >

Nota : puede haber un tema de AppCompat que ya esté en pantalla completa, pero no lo sepa de inmediato