在较新的 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>
完美地生成了这个:
然而,早期的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
通货膨胀问题。我已经在所有的ImageView中使用了app:srcCompat
,所以那里没有问题。
标准矢量图形也可以正常工作,但当放置在layer-list
中时,它们会引起混乱。是否有任何解决方法?