У меня следующая структура каталогов:
drawable/ic_logo.xml
drawable-v24/ic_logo.xml
Проблема, с которой я сталкиваюсь, заключается в том, что v24
версия ic_logo
не переопределяет версию папки по умолчанию для рисования по умолчанию, и приложение отображаетпо умолчанию для всех версий API.
Причина, по которой я должен использовать версию v24
, заключается в том, что вектор, содержащий градиент, требует startX
, startY
и т. д., которые недоступны до API 24.
Мой minSdkVersion
равен 21, и я называю вектор с AppCompatImageView
примерно так:
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="80dp"
android:layout_height="80dp"
app:layout_constraintRight_toRightOf="parent"
android:adjustViewBounds="true"
android:src="@drawable/ic_logo"
app:srcCompat="@drawable/ic_logo"
app:layout_constraintTop_toTopOf="parent"/>
Как ни странно, логотип отображается правильно для API <23 и API24 и выше при использовании средства просмотра Android Studio, но не на каком-либо эмуляторе или живом устройстве. </p>