gpt4 book ai didi

android - 如何让带有渐变的矢量可绘制对象在 < API 24 中工作?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:15:33 25 4
gpt4 key购买 nike

我正在编写一个应用程序,它广泛使用带有渐变标签的矢量绘图。

我需要采取哪些步骤才能使具有不同 API 级别的设备可以使用这些图标,而无需我们手动将 SVG 文件转换为不同大小的 PNG 文件?

下面是我将它导入android studio后我们使用的一个典型的矢量图标

<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="72dp"
android:height="103dp"
android:viewportWidth="72.0"
android:viewportHeight="103.0">
<path
android:pathData="M63,40.3L63,26.87C63,12.03 50.91,0 36,0 21.09,0 9,12.03 9,26.87v13.43c-4.97,0 -9,4.01 -9,8.96v44.78C0,98.99 4.03,103 9,103h54c4.97,0 9,-4.01 9,-8.96L72,49.26c0,-4.95 -4.03,-8.96 -9,-8.96zM18,26.87c0,-9.9 8.06,-17.91 18,-17.91 9.94,0 18,8.02 18,17.91v13.43L18,40.3L18,26.87zM63,94.04L9,94.04L9,49.26h54v44.78zM31.5,74.89v5.72c0,2.47 2.02,4.48 4.5,4.48 2.48,0 4.5,-2.01 4.5,-4.48v-5.72c2.68,-1.55 4.5,-4.41 4.5,-7.71 0,-4.95 -4.03,-8.96 -9,-8.96s-9,4.01 -9,8.96c0,3.31 1.82,6.16 4.5,7.71z"
android:fillType="nonZero">
<aapt:attr name="android:fillColor">
<gradient

android:startY="0.0"
android:startX="0.0"
android:endY="103.0"
android:type="linear"
android:endX="72.0">
<item android:offset="0.0" android:color="#FFFA8561" />
<item android:offset="1.0" android:color="#FFFC5D5D" />
</gradient></aapt:attr></path>
</vector>

我注意到像“startX, startY”这样的属性只是 API > 24。只要可以看到渐变,我愿意牺牲这些坐标/方向的精度。

我是否可以稍微更改这些属性,以便至少可以在所有设备 API 级别上显示一个渐变?

谢谢

最佳答案

尝试在 gradle 中使用此支持库以在较低版本中使用矢量可绘制对象。供引用https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html

对于 Gradle 插件 2.0+

   android {
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
}

适用于 Gradle Plugin 1.5 或以下版本

      android {
defaultConfig {
// Stops the Gradle plugin’s automatic rasterization of vectors
generatedDensities = []
}
// Flag notifies aapt to keep the attribute IDs around
aaptOptions {
additionalParameters "--no-version-vectors"
}
}

关于android - 如何让带有渐变的矢量可绘制对象在 < API 24 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48193532/

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