我是靠谱客的博主 乐观咖啡豆,这篇文章主要介绍android timepicker 设置颜色,android – 更改TimePicker文本颜色,现在分享给大家,希望可以做个参考。

我已经将

Paul Burke’s Answer和

Simon’s Answer组合在一起,成功编辑了TimePicker的文本颜色.

以下是它的完成方式:

TimePicker time_picker; //Instantiated in onCreate()

Resources system;

private void set_timepicker_text_colour(){

system = Resources.getSystem();

int hour_numberpicker_id = system.getIdentifier("hour", "id", "android");

int minute_numberpicker_id = system.getIdentifier("minute", "id", "android");

int ampm_numberpicker_id = system.getIdentifier("amPm", "id", "android");

NumberPicker hour_numberpicker = (NumberPicker) time_picker.findViewById(hour_numberpicker_id);

NumberPicker minute_numberpicker = (NumberPicker) time_picker.findViewById(minute_numberpicker_id);

NumberPicker ampm_numberpicker = (NumberPicker) time_picker.findViewById(ampm_numberpicker_id);

set_numberpicker_text_colour(hour_numberpicker);

set_numberpicker_text_colour(minute_numberpicker);

set_numberpicker_text_colour(ampm_numberpicker);

}

private void set_numberpicker_text_colour(NumberPicker number_picker){

final int count = number_picker.getChildCount();

final int color = getResources().getColor(R.color.text);

for(int i = 0; i < count; i++){

View child = number_picker.getChildAt(i);

try{

Field wheelpaint_field = number_picker.getClass().getDeclaredField("mSelectorWheelPaint");

wheelpaint_field.setAccessible(true);

((Paint)wheelpaint_field.get(number_picker)).setColor(color);

((EditText)child).setTextColor(color);

number_picker.invalidate();

}

catch(NoSuchFieldException e){

Log.w("setNumberPickerTextColor", e);

}

catch(IllegalAccessException e){

Log.w("setNumberPickerTextColor", e);

}

catch(IllegalArgumentException e){

Log.w("setNumberPickerTextColor", e);

}

}

}

请注意,这个答案现在可能已经过时了.我刚刚遇到了一些可能有问题的东西(详情请参阅我的问题).否则你应该按照Vikram的回答.

最后

以上就是乐观咖啡豆最近收集整理的关于android timepicker 设置颜色,android – 更改TimePicker文本颜色的全部内容,更多相关android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(111)

评论列表共有 0 条评论

立即
投稿
返回
顶部