gpt4 book ai didi

android - 如何在 xml 中重用不同颜色的已定义可绘制对象

转载 作者:搜寻专家 更新时间:2023-11-01 09:40:49 27 4
gpt4 key购买 nike

用一种颜色定义可绘制对象:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<corners android:radius="10dip"/>
<solid android:color="#FF7C71BF"/>

并用于某些项目的布局:

android:background="@drawable/oval_shape"

如果我想在布局 xml 中的多个地方使用不同的颜色重用这个可绘制对象,该怎么做? (可以在代码中完成重新分配颜色,只是想看看是否可以使用 xml 完成)。

最佳答案

这是一个只适用于 Lollipop 及更高版本的解决方案:

将颜色设为白色:

    <solid android:color="#FFFFFFFF"/>

然后在 View 上使用 backgroundTintbackgroundTintMode 属性:

        <View
android:backgroundTint="#FF00FF00"
android:backgroundTintMode="multiply"
....

在这个例子中,它是绿色的。

对于 KitKat 和更早版本,这些属性不存在,因此您必须求助于代码:

        setColorFilter(Color.GREEN, Mode.MULTIPLY);

Here's a tutorial for this method.

关于android - 如何在 xml 中重用不同颜色的已定义可绘制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39963556/

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