gpt4 book ai didi

android - 如何从 GradientDrawable 获取颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:20:44 28 4
gpt4 key购买 nike

首先,我将绿色设置为 View mIcon 的背景,

View mIcon = findViewById(R.id.xxx);

GradientDrawable gdraw = (GradientDrawable) mContext.getResources().getDrawable(R.drawable.roundbtn_white_normal);
gdraw.setColor(Color.GREEN);
mIcon.setBackgroundDrawable(gdraw);

然后,我不知道如何从此 View 的背景中获取颜色...没有 getColor()函数...

最佳答案

到目前为止,以下类(class)对我来说效果很好。

import android.content.res.Resources;
...

// it's the same with the GradientDrawable, just make some proper modification to make it compilable
public class ColorGradientDrawable extends Drawable {
...
private int mColor; // this is the color which you try to get
...
// original setColor function with little modification
public void setColor(int argb) {
mColor = argb;
mGradientState.setSolidColor(argb);
mFillPaint.setColor(argb);
invalidateSelf();
}

// that's how I get the color from this drawable class
public int getColor() {
return mColor;
}
...

// it's the same with GradientState, just make some proper modification to make it compilable
final public static class GradientState extends ConstantState {
...
}
}

关于android - 如何从 GradientDrawable 获取颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26501277/

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