在较新的Android版本上,以下代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#bdbdbd" />
<size
android:width="60dp"
android:height="60dp" />
</shape>
</item>
<item
android:drawable="@drawable/ic_library_books_black_24dp"
android:gravity="center"
android:width="40dp"
android:height="40dp"
>
</item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)
完美地生产:
然而,早期的Android版本(API 16和19,来自我测试过的)根本不喜欢这个,我得到了
E/AndroidRuntime: FATAL EXCEPTION: main
Process: package.app, PID: 11490
android.view.InflateException: Binary XML file line #26: Error inflating class ImageView
Run Code Online (Sandbox Code Playgroud)
通货膨胀.我用过app:srcCompat所有的ImageViews,所以没有问题.
标准矢量Drawables也可以正常工作,但放在layer-list它们时会造成混乱.有没有解决方法?