В новых версиях 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
при инфляции. Я использовал app:srcCompat
для всех моих ImageViews, поэтому проблем там нет.
Стандартные векторные чертежи также отлично работают, но при размещении в layer-list
они вызывают хаос. Есть ли способы обхода?