我的視圖有白色背景,必須保持原樣。 我有一個TimePicker在那個白色background.Everything是很好的與android 2.3.3,但android 4.0.3有一個新的timePicker風格。數字有一個非常明亮的顏色。在白色背景下很難看到它們,我沒有找到改變textColor的直接方法。我不想改變背景,因爲它看起來不太好。如何覆蓋TimePicker以更改文字顏色
有什麼辦法可以覆蓋這個,並將數字的顏色設置爲黑色?
誠懇, 沃爾芬
我的視圖有白色背景,必須保持原樣。 我有一個TimePicker在那個白色background.Everything是很好的與android 2.3.3,但android 4.0.3有一個新的timePicker風格。數字有一個非常明亮的顏色。在白色背景下很難看到它們,我沒有找到改變textColor的直接方法。我不想改變背景,因爲它看起來不太好。如何覆蓋TimePicker以更改文字顏色
有什麼辦法可以覆蓋這個,並將數字的顏色設置爲黑色?
誠懇, 沃爾芬
看看Android的源styles.xml
https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml
然後,您所設置的樣式您的活動/ timepicker它看起來像你可以做類似此:
<style name="MyTimePicker" parent="@android:style/Widget.TimePicker">
<item name="android:textColor">#000000</item>
</style>
或也許(3.0和以上)
<style name="MyHoloTimePicker" parent="@android:style/Widget.Holo.TimePicker">
<item name="android:textColor">#000000</item>
</style>
那麼你的XML是:
<TimePicker
style="@style/MyHoloTimePicker"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
使用此功能
public static boolean setNumberPickerTextColor(NumberPicker numberPicker, int color) {
final int count = numberPicker.getChildCount();
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;
}
您好,感謝布倫德爾。我可以在商業項目中使用它嗎? – Wolfen
@Wolfen是的,你爲什麼會認爲你不能? – Blundell
好吧,我已將此添加到我的styles.xml:<! - 全球主題樣式 - > <吃評論/> <樣式名稱= 「Widget.TimePicker」> <項目名稱=「機器人:佈局 「> @機器人:佈局/ time_picker <樣式名稱=」 Widget.Holo.TimePicker」父= 「Widget.TimePicker」> <項名稱= 「機器人:佈局」> @機器人:佈局/ time_picker_holo <樣式名稱= 「Widget.Holo.Light.TimePicker」 父= 「Widget.Holo.TimePicker」> 錯誤:檢索項目的父項時出錯:找不到與給定名稱匹配的資源'小工具' –
Wolfen