“您需要在此活动中使用Theme.AppCompat主题(或后代)。”[重复](“You need to use a Theme.AppCompat theme (or descendant) wit

编程入门 行业动态 更新时间:2024-10-27 22:26:10
“您需要在此活动中使用Theme.AppCompat主题(或后代)。”[重复](“You need to use a Theme.AppCompat theme (or descendant) with this activity.” [duplicate])

这个问题在这里已经有了答案:

您需要使用Theme.AppCompat主题(或后代)与此活动 40个答案

我是Android编程的新手,我遇到了一个简单的XML问题。 我正在努力将我的空闲活动之一变成全屏活动。 我尝试将这行代码android:theme =“@ android:style / Theme.NoTitleBar.Fullscreen”添加到我的Android清单文件中,最终导致我的应用程序在启动时崩溃。

如果这也有帮助,我受影响的活动的java文件扩展了AppCompatActivity。 我看到一些其他帖子提到这会造成问题,但我无法解决我的问题。

请帮助我解决此问题,同时仍然使整个活动成为活动。 任何帮助表示赞赏。 谢谢!

XML

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light"> <activity android:name=".MainActivity" android:label="Marks Calculator"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.APP_CALCULATOR" /> </intent-filter> </activity> <activity android:name=".Home_Activity" android:label="Finite Time Manager"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </activity> <activity android:name=".Welcome_Activity" 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>

错误logcat

12-22 12:21:30.214 32475-32475/com.managergmail.time.finite.finitemanager02 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.managergmail.time.finite.finitemanager02, PID: 32475 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.managergmail.time.finite.finitemanager02/com.managergmail.time.finite.finitemanager02.Welcome_Activity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359) at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.managergmail.time.finite.finitemanager02.Welcome_Activity.onCreate(Welcome_Activity.java:17) at android.app.Activity.performCreate(Activity.java:6280) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1116) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2534) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)

This question already has an answer here:

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

I am new to Android programming and I am running into a simple XML issue. I am in the process of trying to make one of my empty activities into a fullscreen activity. I tried adding this line of code android:theme="@android:style/Theme.NoTitleBar.Fullscreen" into my android manifest file, which ended up making my app crash on start.

If this also helps, my java file for the affected activity extends the AppCompatActivity. I saw some other posts that mentioned that this would create issues but I have not been able to fix my problem.

Please help me fix this issue while still making the activity fullscreen. Any help is appreciated. Thanks!

XML

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AppCompat.Light"> <activity android:name=".MainActivity" android:label="Marks Calculator"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.APP_CALCULATOR" /> </intent-filter> </activity> <activity android:name=".Home_Activity" android:label="Finite Time Manager"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </activity> <activity android:name=".Welcome_Activity" 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>

Error logcat

12-22 12:21:30.214 32475-32475/com.managergmail.time.finite.finitemanager02 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.managergmail.time.finite.finitemanager02, PID: 32475 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.managergmail.time.finite.finitemanager02/com.managergmail.time.finite.finitemanager02.Welcome_Activity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2581) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:359) at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.managergmail.time.finite.finitemanager02.Welcome_Activity.onCreate(Welcome_Activity.java:17) at android.app.Activity.performCreate(Activity.java:6280) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1116) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2534) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2647) at android.app.ActivityThread.-wrap11(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1502) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:207) at android.app.ActivityThread.main(ActivityThread.java:5763) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:749)

最满意答案

您的Welcome_Activity可能会扩展AppCompatActivity因此主题应该是appcompat主题。

在你的styles.xml文件中输入:

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

现在你可以使用这个主题:

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

这将适用于此特定活动的全屏主题。 如果您想要整个应用程序的全屏,您可以使用此主题替换清单中的应用程序主题。

Your Welcome_Activity probably extends AppCompatActivity so the theme should be appcompat theme.

In your styles.xml file put this:

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

Now you can use this theme:

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

This will apply fullscreen theme for this particular activity. If you want full screen for whole application you can just replace the application theme in manifest with this theme.

更多推荐

android,java,activity,app,活动,电脑培训,计算机培训,IT培训"/> <meta name="

本文发布于:2023-04-29 11:09:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1336437.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:在此   您需要   后代   活动中   主题

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!