您好我想更改时间选择器的字体颜色。我在Stackoverflow本身搜索了一些其他答案。但我无法帮助自己。
我的目标API是19.这是我尝试过的事情列表。
<!-- language: lang-xml -->
<style name="MyTimePicker" parent="@android:style/Widget.Holo.DatePicker">
<item name="android:textColor">@color/main_font</item>
</style>
我也尝试在values文件夹中添加它。但我得到以下错误。
@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)'
答案 0 :(得分:0)
@android:style/Widget.Holo.DatePicker
更改为@android:style/Widget.Holo.TimePicker
。
@android:style/Widget.Material.Light.DatePicker
的相同技巧,将其更改为@android:style/Widget.Material.Light.TimePicker
答案 1 :(得分:0)
文本颜色是主题的textColorPrimary和textColorSecondary值。所以你可以创建这样的风格:
<style name="myTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:textColorPrimary">#e90d8a</item>
<item name="android:textColorSecondary">@color/white_primary_text</item>
// The rest of your customization.
</style>
在您的活动中使用setTheme方法。