https://www.cnblogs.com/zhouyou96/p/5323138.html
https://www.jianshu.com/p/c797f90c4168
https://blog.csdn.net/howard2005/article/details/79460799
https://blog.csdn.net/u013694478/article/details/79468952
Android关于Theme.AppCompat相关问题的深入分析
No resource found that matches the given name ‘@style/Theme.AppCompat.Light’
AppTheme相关
遇到了一个问题:
想设置一个全屏,在AndroidMainfest.xml的标签的配置如下:
<activity
android:name=".activity.ManagerActivity"
android:screenOrientation="landscape"
android:theme="@style/AppTheme" />```
values/style
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.DeviceDefault.Light.NoActionBar.Fullscreen">
<item name="android:windowNoTitle">true</item>
</style>
原因:
从错误提示中提到Theme.AppCompat theme,因为我们的activity一定是继承了兼容包中的类(我这里继承AppCompatActivity),
所以就要使用与其配合的AppCompat的theme才行。
解决办法:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowFullscreen">true</item>
</style>
下面是错误提示:
2018-01-01 15:37:45.994 19821-19821/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.snap.awesomeserial, PID: 19821
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.snap.awesomeserial/com.snap.awesomeserial.ui.DemoActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2805)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2883)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)
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:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
at com.snap.awesomeserial.base.BaseActivity.onCreate(BaseActivity.java:17)
at com.snap.awesomeserial.ui.DemoActivity.onCreate(DemoActivity.java:26)
at android.app.Activity.performCreate(Activity.java:7023)
at android.app.Activity.performCreate(Activity.java:7014)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2758)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2883)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6523)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)