为什么 ?attr/colorAccent 在棒棒糖版本以下不起作用?
Why ?attr/colorAccent dose not work below lollipop version?
我已将主题添加到我的应用程序中。为此,我使用了多种强调色来添加图像按钮。我有一个名为 fab selector xml 的 xml 文件,它为图像按钮提供形状和颜色。但是它在这个文件上给出了例外。
第一个异常是 class 图片按钮的 inflateException。
第二个是 fab 选择器的资源未找到异常。 Fab 选择器位于可绘制文件夹中。
它还显示 , 原因:java.lang.UnsupportedOperationException:无法转换为颜色:type=0x2
如果我使用 <solid android:color="?attr/colorAccent" />
?attr/colorAccent 如果我使用
它工作正常
<solid android:color="@color/colorAccent">
因为它给出了十六进制颜色值。
奇怪的是,我将它应用于工具栏,它在棒棒糖下也能正常工作。只有它在 fab 选择器文件上给出了异常。
我不明白我该如何克服这个问题?
晶圆厂选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
</selector>
日志:
2800/com.example.siddhi.timetablelayout E/AndroidRuntime: FATAL
EXCEPTION: main
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}:
android.view.InflateException: Binary XML file line #16: Error
inflating class ImageButton
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.access0(ActivityThread.java:130)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.os.Handler.dispatchMessage(Handler.java:99)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.main(ActivityThread.java:4745)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native
Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
java.lang.reflect.Method.invoke(Method.java:511)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: android.view.InflateException: Binary
XML file line #16: Error inflating class ImageButton
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.inflate(LayoutInflater.java:489)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.inflate(LayoutInflater.java:396)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.Activity.performStart(Activity.java:5018)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.access0(ActivityThread.java:130)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.os.Handler.dispatchMessage(Handler.java:99)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.main(ActivityThread.java:4745)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native
Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
java.lang.reflect.Method.invoke(Method.java:511)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native
Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by:
android.content.res.Resources$NotFoundException: File
res/drawable/fab_selector.xml from drawable resource ID #0x7f020081
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.content.res.Resources.loadDrawable(Resources.java:1918)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.content.res.TypedArray.getDrawable(TypedArray.java:601)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.View.(View.java:3336)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.widget.ImageView.(ImageView.java:114)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.widget.ImageButton.(ImageButton.java:87)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:59)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:55)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:171)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.parseInclude(LayoutInflater.java:830)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:736)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.inflate(LayoutInflater.java:489)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.view.LayoutInflater.inflate(LayoutInflater.java:396)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.Activity.performStart(Activity.java:5018)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.access0(ActivityThread.java:130)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.os.Handler.dispatchMessage(Handler.java:99)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.app.ActivityThread.main(ActivityThread.java:4745)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native
Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
java.lang.reflect.Method.invoke(Method.java:511)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native
Method)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: java.lang.UnsupportedOperationException:
Can't convert to color: type=0x2
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.content.res.TypedArray.getColor(TypedArray.java:326)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:951)
02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at
android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
编辑:我在 style.xml
中提到了 colorAccent
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="windowActionBarOverlay">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@color/background_material_light</item>
</style>
怎么办?谢谢..
你添加了吗
<item name="colorAccent">@color/colorAccent</item>
在你的风格中 xml 以下棒棒糖版本?
您尝试执行的操作仅适用于 Android 级别 >=21。
看这里:Support for referencing theme attributes in drawable XML
据我所知,这是一个错误...
您可以阅读有关此问题的更多信息 here or .
我已将主题添加到我的应用程序中。为此,我使用了多种强调色来添加图像按钮。我有一个名为 fab selector xml 的 xml 文件,它为图像按钮提供形状和颜色。但是它在这个文件上给出了例外。
第一个异常是 class 图片按钮的 inflateException。 第二个是 fab 选择器的资源未找到异常。 Fab 选择器位于可绘制文件夹中。
它还显示 , 原因:java.lang.UnsupportedOperationException:无法转换为颜色:type=0x2
如果我使用 <solid android:color="?attr/colorAccent" />
?attr/colorAccent 如果我使用
它工作正常 <solid android:color="@color/colorAccent">
因为它给出了十六进制颜色值。
奇怪的是,我将它应用于工具栏,它在棒棒糖下也能正常工作。只有它在 fab 选择器文件上给出了异常。
我不明白我该如何克服这个问题?
晶圆厂选择器
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
<item android:state_focused="true">
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
<item>
<shape android:shape="oval">
<solid android:color="?attr/colorAccent" />
</shape>
</item>
</selector>
日志:
2800/com.example.siddhi.timetablelayout E/AndroidRuntime: FATAL EXCEPTION: main 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.siddhi.timetablelayout/com.example.siddhi.timetablelayout.MainActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class ImageButton 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.access0(ActivityThread.java:130) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #16: Error inflating class ImageButton 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.Activity.performStart(Activity.java:5018) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.access0(ActivityThread.java:130) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: File res/drawable/fab_selector.xml from drawable resource ID #0x7f020081 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.content.res.Resources.loadDrawable(Resources.java:1918) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.View.(View.java:3336) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.widget.ImageView.(ImageView.java:114) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.widget.ImageButton.(ImageButton.java:87) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:59) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v7.widget.AppCompatImageButton.(AppCompatImageButton.java:55) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:107) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV7.createView(AppCompatDelegateImplV7.java:938) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v7.app.AppCompatDelegateImplV7.onCreateView(AppCompatDelegateImplV7.java:992) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.view.LayoutInflaterCompatHC$FactoryWrapperHC.onCreateView(LayoutInflaterCompatHC.java:44) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:171) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:675) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.parseInclude(LayoutInflater.java:830) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:736) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.example.siddhi.timetablelayout.MainFragment.onCreateView(MainFragment.java:33) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1163) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.Activity.performStart(Activity.java:5018) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2032) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.access0(ActivityThread.java:130) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:4745) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.content.res.TypedArray.getColor(TypedArray.java:326) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:951) 02-18 05:11:01.161 2800-2800/com.example.siddhi.timetablelayout E/AndroidRuntime: at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881)
编辑:我在 style.xml
中提到了 colorAccent <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textColorSecondary">@color/white</item>
<item name="windowActionBarOverlay">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowBackground">@color/background_material_light</item>
</style>
怎么办?谢谢..
你添加了吗
<item name="colorAccent">@color/colorAccent</item>
在你的风格中 xml 以下棒棒糖版本?
您尝试执行的操作仅适用于 Android 级别 >=21。
看这里:Support for referencing theme attributes in drawable XML
据我所知,这是一个错误...
您可以阅读有关此问题的更多信息 here or