ChargeNumberPicker.java
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
package com.sw.laryngoscope.widget;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.drawable.ColorDrawable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.NumberPicker;
import androidx.annotation.ColorRes;
import androidx.core.content.ContextCompat;
import com.sw.laryngoscope.R;
import java.lang.reflect.Field;
import java.util.Objects;
public class ChargeNumberPicker extends NumberPicker {
public ChargeNumberPicker(Context context) {
super(context);
}
public ChargeNumberPicker(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ChargeNumberPicker(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@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);
}
public void updateView(View view) {
if (view instanceof EditText) {
//这里修改字体的属性
//((EditText)view).setTextColor(ContextCompat.getColor(view.getContext(),R.color.color_white));
((EditText) view).setTextSize(35);
}
}
//动态调整
public void updateColor(@ColorRes int color){
final int count = getChildCount();
for (int i = 0; i < count; i++) {
View child = getChildAt(i);
if (child instanceof EditText) {
try {
Field selectorWheelPaintField = Objects.requireNonNull(getClass().getSuperclass())
.getDeclaredField("mSelectorWheelPaint");
selectorWheelPaintField.setAccessible(true);
((Paint) selectorWheelPaintField.get(this)).setColor(getResources().getColor(color));
((EditText) child).setTextColor(getResources().getColor(color));
this.invalidate();
} catch (NoSuchFieldException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
}
public void modifySelectText() {
for (int i = 0; i < this.getChildCount(); i++) {
View child = this.getChildAt(i);
if (child instanceof EditText) {
((EditText) child).setTextSize(35);
//((EditText) child).setTextColor(Color.RED);
((EditText) child).setTextColor(getResources().getColor(R.color.color_0aede0));
child.setVisibility(View.VISIBLE);
}
}
}
}