一直好好的,突然某个版本,TimePicker的字看不见了。

布局长这样

android:id="@+id/new_act_time_picker"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

然后百度到如下代码:

private void set_timepicker_text_colour(TimePicker time_picker){

Resources 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.color_5_5_5);

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("setColor", e.toString());

}

catch(IllegalAccessException e){

Log.w("setColor", e.toString());

}

catch(IllegalArgumentException e){

Log.w("setColor", e.toString());

}

}

}

加入以后,奔溃,不知原因。

研究源码:

public TimePicker(Context context) {

this(context, null);

}

public TimePicker(Context context, AttributeSet attrs) {

this(context, attrs, R.attr.timePickerStyle);

}

public TimePicker(Context context, AttributeSet attrs, int defStyleAttr) {

this(context, attrs, defStyleAttr, 0);

}

public TimePicker(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {

super(context, attrs, defStyleAttr, defStyleRes);

final TypedArray a = context.obtainStyledAttributes(

attrs, R.styleable.TimePicker, defStyleAttr, defStyleRes);

final int mode = a.getInt(R.styleable.TimePicker_timePickerMode, MODE_SPINNER);

a.recycle();

switch (mode) {

case MODE_CLOCK:

mDelegate = new TimePickerClockDelegate(

this, context, attrs, defStyleAttr, defStyleRes);

break;

case MODE_SPINNER:

default:

mDelegate = new TimePickerSpinnerDelegate(

this, context, attrs, defStyleAttr, defStyleRes);

break;

}

}怎么还有两个mode?我内心是奔溃的。

MODE_CLOCK 模式,是模拟手表盘,后加的模式。

MODE_SPINNER 经典模式,也是最早的模式。

突然解惑,为什么我的TimePicker在不同版本手机上长的不一样了。

简单修改一下布局:

android:id="@+id/new_act_time_picker"

android:timePickerMode="spinner"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

为了照顾老版本,就用这种模式吧。

再套用上面的代码,字体颜色改掉。

android timepicker 设置颜色,android TimePicker 踩过的坑 颜色设置相关推荐

  1. Android集成极光推送和踩过的坑(一)

    转载请标明出处 http://blog.csdn.net/mohan6/article/details/72960346 本文作者:[默寒的博客] 集成步骤以及集成过程遇到的坑: 这部分主要阐述了集成 ...

  2. Android版本更新踩坑,Android Studio 3.0升级后踩到的坑

    最近升级了Android Studio 3.1.2,还没沉浸在欢乐中,就当头一棒,更新项目没事,但是运行项目就报错.错误信息如下: Caused by: org.gradle.tooling.Buil ...

  3. Android Studio安装使用过程中踩到的坑

    首先在整成安装的过程中,会弹出一句话,Unable to access Android SDK add-on list,意思是无法访问Android SDK加载项列表 此时,你点击Cancel选项即可 ...

  4. Android post ---花两天事件踩一个联网坑

    服务器已经搭建好了,用post工具测试一直没有问题,写app的时候死活连不上. 坑1:用的Android 10, 联网权限要加上 之外还有个network-security-config(自行百度) ...

  5. android timepicker 设置间隔,android – 如何在TimePicker中设置AM / PM?

    我在我的应用程序中使用TimePicker.每当用户使用TimePicker打开屏幕时,我会使用当前时间对其进行初始化.当我这样做时,TimePicker显示AM而不是PM.为什么会这样?我的代码中有 ...

  6. TimePicker,SharedPreferences实现android小闹钟

    博客园 首页 新随笔 联系 管理 订阅 随笔- 137  文章- 6  评论- 145  TimePicker,SharedPreferences实现android小闹钟 简述: 使用TimePick ...

  7. android timepicker 不可编辑,iView -- TimePicker 自定义修改时间选择器选择时间面板样式...

    期望的最终效果: 为什么要修改期望效果? 项目需要只选择小时,分钟跟秒的不需要,而官方并没有直接相关的小时组件或者是设置显示成小时或分钟或秒的时间选择器,因为自己直接修改样式. 原生js 代码,如下: ...

  8. android中设置ListView的选中的Item的背景颜色(附源码)

    http://longyi-java.iteye.com/blog/976067 ListView中没有默认的选择颜色,只有选择Item后的焦点颜色,鼠标点击时Item有颜色,放开鼠标后颜色也就没有了 ...

  9. Android TimePickerDialog样式配置与TimePicker模式选择

    习惯性的,把要说的内容先总结一下: TimePicker有两种模式:spinner 和clock,可通过如下方式配置: <TimePickerandroid:timePickerMode = & ...

  10. android datepicker使用方法,android中DatePicker和TimePicker的使用方法详解

    本文以实例讲述了android中DatePicker和TimePicker的使用方法,具体步骤如下: 下面是实现具体功能的代码,其中main.xml代码为: android:layout_width= ...

最新文章

  1. jmeter ant的html结果为空,Ant Jmeter Jenkins生成html测试报告
  2. linux常见分区格式,linux 分区格式
  3. 《Windows服务器配置与管理》文件系统管理
  4. 《穷爸爸富爸爸》读书笔记
  5. CCF201912-1 报数(100分)【模拟】
  6. 高德定位html,Ionic3 高德Web定位
  7. DEV 实现CheckBox单选
  8. 2009年02月《安全天下事》、2009年02月《安全天下事之12月,辩证法之月》、《2008信息安全技术与产业大盘点》...
  9. 模块已加载,但找不到入口点DLLRegisterServer
  10. JPEG中Huffman解码实例讲解
  11. React Fullpage
  12. GDOI2018D2T1 谈笑风生
  13. 手撕迪杰斯特拉算法(Dijkstra)及代码(附图解)
  14. zapewnia stale poprawiając relacje związane
  15. 蚁群算法一个VRP小实现
  16. linux中如何安装windows
  17. 2022.1.3bili上面登录:139 733xxx
  18. 【Flink】Flink中的窗口API、窗口函数以及迟到数据处理问题
  19. android 重力感应 横竖屏切换,重力感应 横竖屏切换
  20. 大学生php实训总结_PHP实训心得总结

热门文章

  1. 驱动蜂鸣器电路-可参考
  2. CISCO VRRP配置
  3. 跟我一起走进内联汇编的世界
  4. 如何一次性保存html图片大小,保存网页图片的几种方法(批量)
  5. CDN的原理技术及使用方法
  6. 2022中兴捧月算法挑战赛(RAW图像去噪)——初赛到决赛总结与反思
  7. 上星远程控制实验(一)
  8. Matlab系统辨识工具箱
  9. 我的前半生之六,创业维艰,我不想骂你,你滚吧
  10. NLP情感分析之情感分类