gpt4 book ai didi

android - 获取应用程序 :drawableEndCompat instead of android:drawableEnd warning for Lollipop API 21 devices

转载 作者:行者123 更新时间:2023-12-04 23:40:13 27 4
gpt4 key购买 nike

作为 4.0.1
使用app:drawableEndCompat instead of android:drawableEnd API 21 及更高版本的警告

 <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 File | New | Vector Asset | Configure Vector Assert 创建的 SVG(可绘制矢量)。
在我的 Build.gradle文件我有以下配置:
minSdkVersion 21
targetSdkVersion 29
vectorDrawables.useSupportLibrary true
由于最小值是 API 21,即 Lollipop,我在想矢量绘图支持开箱即用,我们可以在没有兼容版本的情况下使用 DrawableEnd、DrawableStart 等?
我在想兼容版本是针对 21 之前的 API 级别的。奇巧及以下。而且由于我没有针对最低要求,我不确定为什么会收到该警告。
如果不使用兼容版本,这将导致这些设备上的现金少于 21。
非常感谢您的任何建议。

最佳答案

此警告背后的主要动机是通过向后兼容使您的 VectorDrawables 在所有设备上看起来都相同。
通过使用“Compat”,您将确保使用矢量 Assets 不会使您的应用程序在低于 API 21(Lollipop)的设备上崩溃。简而言之,使用 drawableEndCompat将允许任何人使用 drawableEnd 的相同功能在较旧的 API (<21) 上。
现在你会想我应该选择什么:
如果您使用 drawableEndCompat ,它会在每台设备上都能正常工作。 API 超过 21 的设备将在内部正常解包 drawableEnd我所知道的。
如果您选择使用 drawableEnd ,它将仅适用于 API 21 及更高版本。
如果您认为我不需要任何 Compat 支持:您可以将应用程序的最小 SDK 从当前值增加到至少 21。然后您可以使用关键字 drawableEnd没有任何警告的平静。
此外,您可以选择为不同的 API 创建不同的布局文件,在 API 21 以下的布局文件中,使用 drawableEndCompat对于 API 21 及更高版本,请使用 drawableEnd .在我看来,您还可以检查是否可以在同一个地方使用这两个属性。我觉得他们也可以一起工作。
如果您不支持 API 21 以下的设备,则没有问题:您应该没有问题/警告。另外,我还需要告诉你一件事——Android Studio 有时会抛出警告或错误;即使你是对的。在这种情况下,如果您认为自己是正确的,则应在单击菜单栏中的文件选项后尝试使无效/重新启动选项。我还建议尝试为长时间使用系统或始终保持 sleep 模式的每个人重新启动系统。
所以,对于 TextView , 你应该使用 app:drawableEndCompat (或开始、顶部、底部)而不是 app:drawableEnd

关于android - 获取应用程序 :drawableEndCompat instead of android:drawableEnd warning for Lollipop API 21 devices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63479754/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com