[在运行时修改矢量资产的形状(例如从顶部切开一部分)以显示Android中的用户进度。有可能吗?

问题描述 投票:1回答:1

我想[通过在Android中使用矢量资产显示播放器的进度。我只想使用一个矢量资产文件,因为“进度百分比”可能会有所不同。例如,它可以非常不同,例如8%,51%等。

[When我有纯色背景,我使用了与背景颜色相同的附加矩形层来隐藏SVG的一部分以进行进度,但是现在我不能了-开始使用精美的图像作为背景。

[请参阅下面的图片以了解我要实现的目标:

20% progress - SVG cut by 80%

40% progress - SVG cut by 60%

10% progress - original .SVG

A正在阅读此https://medium.com/androiddevelopers/understanding-androids-vector-image-format-vectordrawable-ab09e41d5c68,在Google上通过stackOverflow搜索-但仍然没有答案。

你们,您有什么想法吗?在此先感谢..

android svg vector trim progress
1个回答
0
投票
/** @IntRange(from=0,to=10000)
 *  0 means hidden 10000 means totally visible*/
fun clipDrawable(level: Int) {
    if (drawable is ClipDrawable){
        drawable.level = level
    } else {
        val clippedDrawable = ClipDrawable(drawable, Gravity.TOP, HORIZONTAL)
        setImageDrawable(clippedDrawable)
        (drawable as? ClipDrawable)?.level = level
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.