gpt4 book ai didi

android - 如何在 Android 中启用的 NumberPicker 中更改所选数字的颜色

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

我想在MyNumberPicker上实现这个效果

enter image description here

到目前为止,我实现了一个 NumberPicker 类并更改了几个属性,但有趣的部分在这里:

public class NumberPicker extends android.widget.NumberPicker{

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

@Override
public void addView(View child) {
super.addView(child);
updateView(child);
}

@Override
public void addView(View child, int index, android.view.ViewGroup.LayoutParams params) {
super.addView(child, index, params);
updateView(child);
}

@Override
public void addView(View child, android.view.ViewGroup.LayoutParams params) {
super.addView(child, params);
updateView(child);
}

private void updateView(View view) {
if(view instanceof EditText){
((EditText) view).setTextSize(getResources().getDimension(R.dimen.numberpicker_text_size));
((EditText) view).setTextColor(ContextCompat.getColor(getContext(), R.color.colorPrimaryDark));

}
}

但是我得到的效果是这样的:

enter image description here

我得到的所有文本都是蓝色的(选中、未选中、 Activity 、非 Activity )如何只在启用的 NumberPicker 和选中的值上得到这个蓝色?

感谢支持

最佳答案

用你想要的属性创建一个ColorStateList。然后将它们应用于 EditText

final ColorStateList colors = new ColorStateList(
new int[][]{
new int[]{android.R.attr.state_selected},
new int[]{-android.R.attr.state_selected}
},
new int[]{selectedColorCode, defaultColor}
);

((EditText) view).setTextColor(colors);

关于android - 如何在 Android 中启用的 NumberPicker 中更改所选数字的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471932/

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