gpt4 book ai didi

android - 在android中以编程方式更改可绘制颜色

转载 作者:行者123 更新时间:2023-11-29 15:39:12 25 4
gpt4 key购买 nike

我有以下平行四边形形状:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="50dp"
android:viewportWidth="200"
android:viewportHeight="50">

<path android:fillColor="#000000"
android:pathData="M 200 0 L 20 0 L 0 50 L 180 50 L 200 0" />
</vector>

我也是这样用的

    <View

android:layout_width="66dp"
android:layout_height="26dp"
android:layout_centerInParent="true"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="112dp"
android:background="@drawable/shape"
android:onClick="test"
android:tag="p112"
app:layout_constraintHorizontal_bias="0.615"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />

现在我想在点击后将其颜色从黑色更改为白色。功能“测试”将在触摸后触发。但我所发现的一切都会改变背景颜色,使我的黑色平行四边形变成白色矩形。有什么办法可以改变它的颜色。即使操纵 xml 也可以。发送

测试函数:

    public void test(View view){
view.setBackgroundColor(Color.WHITE);
}

最佳答案


Drawable backgroundDrawable = DrawableCompat.wrap(view.getBackgroundDrawable()).mutate();
DrawableCompat.setTint(backgroundDrawable, color);
你可以用这个!!

关于android - 在android中以编程方式更改可绘制颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113685/

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