gpt4 book ai didi

android - 我怎么知道是否是android :textColor has int or ColorStateList value

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:04 25 4
gpt4 key购买 nike

在自定义 View 组中,我有一个 TextView 作为 subview 。我想根据 android:textColor 值设置此 TextView 的 textColor。所以在 res/values/styles.xml 中我有:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CustomViewGroupTextView">
<attr name="android:textColor" />
</declare-styleable>
</resources>

在 CustomViewGroup 的构造函数中,我有这个:

private TextView mTextView;    

public CustomViewGroup(Context context) {
super(context);
initTextView(context, attrs);
}

public CustomViewGroup(Context context, AttributeSet attrs) {
super(context, attrs);
initTextView(context, attrs);
}

public CustomViewGroup(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initTextView(context, attrs);
}

private void initTextView(Context context, AttributeSet attrs) {
mTextView = new TextView(
TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.CustomViewGroupTextView);

// Set text color
ColorStateList textColor = ta.getColorStateList(R.styleable.MinutiaeTextView_android_textColor);
if (textColor != null) {
mTextView.setTextColor(textColor);
}
}

我的问题是:如何正确执行 mTextView.setTextColor?任何人都可以将整个颜色状态列表或单个颜色值放入 android:textColor 中。或者,如果有人将单一颜色放入 android:textColor 中,我会得到一个颜色完全相同的 ColorStateList 吗?

最佳答案

根据documentation :

The value may be either a single solid color or a reference to a color or complex ColorStateList description

因此,如果用户将颜色设置为单个值,您将获得单个值,否则您将获得对 ColorStateList 的引用。

关于android - 我怎么知道是否是android :textColor has int or ColorStateList value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23503609/

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