AS 4.0.1
API 21及以上会发出“请使用app:drawableEndCompat而不是android:drawableEnd”的警告。
<TextView
android:id="@+id/tvCheckStock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/ic_pin_drop
android:gravity="center_vertical"/>
ic_pin_drop是使用Android Studio的“文件 | 新建 | 矢量资产 | 配置矢量资产”创建的SVG(矢量可绘制图形)。
在我的Build.gradle文件中,我有以下配置:
minSdkVersion 21
targetSdkVersion 29
vectorDrawables.useSupportLibrary true
由于最小API为21,即Lollipop版本,我认为矢量图形应该是被默认支持的,我们可以直接使用DrawableEnd、DrawableStart等标签而无需使用compat版本?
我认为compat版本是用于早于21的API级别,也就是Kitkat及以下版本。因为我不会针对那些较低的版本,所以我不确定为什么我会收到警告。
如果不使用compat版本,则会导致在低于21的设备上出现问题。
非常感谢任何建议。
drawableTint
或drawableTintMode
,我仍会收到那个警告?我可以理解,如果我试图在低于23的设备上使用drawableTint,则可能会出现警告。 - ant2009colorPrimary
和android:colorPrimary
等类似情况。 - Eugen Pechanec