Привет, я хочу изменить цвет шрифта в средстве выбора времени. Я искал другие ответы в самом Stackoverflow. Но я не могу помочь себе в этом.
Мой целевой API — 19. Вот список того, что я пробовал.
- Я попытался добавить стили в Styles.xml в папках values-v11 и values-v14. Ниже приведен код
<!-- language: lang-xml -->
<style name="MyTimePicker" parent="@android:style/Widget.Holo.DatePicker">
<item name="android:textColor">@color/main_font</item>
</style>
Я также пытался добавить его в папку значений. Но я получаю следующую ошибку.
Для @android:style/Widget.Holo.DatePicker требуется уровень API 11 (текущий минимум 8)
Я добавил стили в свой TimePicker, например
<TimePicker
android:id="@+id/alarm_timePicker"
style="@style/MyTimePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
Ничего не изменилось.
2 . Я попытался добавить код из Stackoverflow в свою деятельность. Ниже приведен код.
public static boolean setNumberPickerTextColor(TimePicker numberPicker) {
final int count = numberPicker.getChildCount();
int color = R.color.main_font;
for (int i = 0; i < count; i++) {
View child = numberPicker.getChildAt(i);
if (child instanceof EditText) {
try {
Field selectorWheelPaintField =
numberPicker.getClass().getDeclaredField("mSelectorWheelPaint");
selectorWheelPaintField.setAccessible(true);
((Paint) selectorWheelPaintField.get(numberPicker)).setColor(color);
((EditText) child).setTextColor(color);
numberPicker.invalidate();
return true;
} catch (NoSuchFieldException e) {
//Log.w("setNumberPickerTextColor", e);
} catch (IllegalAccessException e) {
//Log.w("setNumberPickerTextColor", e);
} catch (IllegalArgumentException e) {
//Log.w("setNumberPickerTextColor", e);
}
}
}
return false;
}
Когда я попытался отладить его, я получил ошибку при настройке представления содержимого как
Попытка вызвать виртуальный метод «void android.widget.NumberPicker.setOnValueChangedListener(android.widget.NumberPicker$OnValueChangeListener)» для нулевой ссылки на объект