I am using below code to change NumberPicker
divider color,
this code not working with Android Api 29+ because UnsupportedAppUsage mSelectionDivider
.
private static void setDividerColor(NumberPicker picker, int color) {
java.lang.reflect.Field[] pickerFields = NumberPicker.class.getDeclaredFields();
for (java.lang.reflect.Field pf : pickerFields) {
if (pf.getName().equals("mSelectionDivider")) {
pf.setAccessible(true);
try {
ColorDrawable colorDrawable = new ColorDrawable(color);
pf.set(picker, colorDrawable);
} catch (IllegalArgumentException | Resources.NotFoundException | IllegalAccessException e) {
e.printStackTrace();
}
break;
}
}
}
You can use number-picker
library like this:
implementation 'com.shawnlin:number-picker:2.4.11'
and in xml:
<com.shawnlin.numberpicker.NumberPicker
android:id="@+id/color_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:np_dividerColor="#000000"/>
and in java set color:
numberPicker.setDividerColor(Color);