安卓筆記 主題和樣式問題

安卓筆記 主題和樣式問題
聲明:小白剛學安卓筆記,遇到問題共享,各位大神們不喜勿噴
做安卓開發的時候,給application設置主題的時候,遇到了這樣的問題

Process: registerreceiver.ningxun.cn.styleandtheme, PID: 22868
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{registerreceiver.ningxun.cn.styleandtheme/registerreceiver.ningxun.cn.styleandtheme.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2444)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2504)
                      at android.app.ActivityThread.access$900(ActivityThread.java:165)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:150)
                      at android.app.ActivityThread.main(ActivityThread.java:5546)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684)
                   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:347)
                      at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:316)
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:281)
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                      at registerreceiver.ningxun.cn.styleandtheme.MainActivity.onCreate(MainActivity.java:11)
                      at android.app.Activity.performCreate(Activity.java:6367)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2397)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2504) 
                      at android.app.ActivityThread.access$900(ActivityThread.java:165) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1368) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:150) 
                      at android.app.ActivityThread.main(ActivityThread.java:5546) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:684) 

在manifest.xml中的聲明

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/MyAppTheme">

我的style.xml文件中的主題是這麼聲明的

<style name="MyAppTheme">
    <item name="android:background">#66ff0000</item>
</style>

只有一個背景色的設置,大致看了一下報錯,說是缺一個樣式主題,網上查了一下,好像安卓6.0之後都需要繼承一個樣式格式
所以,我在style.xml中繼承了一個parent

<style name="MyAppTheme" parent="Theme.AppCompat">
    <item name="android:background">#66ff0000</item>
</style>

OK!問題解決!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章