我今天才开始“真正的”android 编程(之前使用 Unity3D 编程)。我做了一个非常简单的应用程序设计,现在我希望它是全屏的。我搜索了一下,发现了这段代码:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
但这不适用于我的应用程序。当我尝试启动我的应用程序时,我收到错误消息:“My Application wurde bedendet”。那应该是英文的“我的应用程序被退出”之类的东西。 当我仅将这一行更改为以下内容时,我的应用程序运行正常:
android:theme="@style/AppTheme"
除了这一行我没有改变任何其他东西所以问题应该是由这一行引起的。我究竟做错了什么?这就是我的完整 list 文件的样子,也许它可以提供帮助:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.dunkel.jonas.myapplication" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
感谢您的帮助!
编辑:
这是日志:
05-13 12:44:42.395 12101-12101/com.dunkel.jonas.myapplication I/art﹕ Late-enabling -Xcheck:jni
05-13 12:44:42.511 12101-12101/com.dunkel.jonas.myapplication D/AndroidRuntime﹕ Shutting down VM
05-13 12:44:42.512 12101-12101/com.dunkel.jonas.myapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.dunkel.jonas.myapplication, PID: 12101
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.dunkel.jonas.myapplication/com.dunkel.jonas.myapplication.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2329)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
at android.app.ActivityThread.access$900(ActivityThread.java:147)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:113)
at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59)
at com.dunkel.jonas.myapplication.MainActivity.onCreate(MainActivity.java:13)
at android.app.Activity.performCreate(Activity.java:5938)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
at android.app.ActivityThread.access$900(ActivityThread.java:147)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
最佳答案
您正在使用的 Activity 是从支持库请求主题。
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme
你可以试试这个。
<application
...
android:theme="@style/Theme.AppCompat.NoActionBar" >
</application>
关于Android 全屏主题不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036906/