目录

1.简单使用
2.指定字体颜色及大小
3.设置24小时显示格式,当前显示时间,禁止调起键盘,监听时间改变
4.设置分割线颜色,设置NumberPicker大小

简单显示

    <TimePickerandroid:id="@+id/time_picker"android:layout_width="wrap_content"android:layout_height="wrap_content"android:timePickerMode="spinner"android:theme="@style/Theme.TimePicker"></TimePicker>

android:theme为指定字体颜色及大小用到的。

指定字体颜色及大小

在style文件中定义Style

    <style name="Theme.TimePicker" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:editTextStyle">@style/Widget.AppCompat.EditText.Gray</item></style><style name="Widget.AppCompat.EditText.Gray"><item name="android:textSize">18sp</item><item name="android:textColor">#b3b3b3</item></style>

指定android:theme为定义的Style

一些设置

     mTimePicker.setIs24HourView(true);//设置为24小时显示格式mTimePicker.setCurrentHour(0); //当前小时mTimePicker.setCurrentMinute(30); //当前分钟mTimePicker.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS);//设置父布局focus,子控件不会focus,以此禁止调起键盘mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {long delayMills = (hourOfDay * 60 + minute) * 60 * 1000;}});

指定分割线divider颜色,设定Picker大小
这里采用反射取得对应属性进行更改

 public void changeTimePickerColor() {Resources systemResources = Resources.getSystem();int hourNumberPickerId = systemResources.getIdentifier("hour", "id", "android");int minuteNumberPickerId = systemResources.getIdentifier("minute", "id", "android");NumberPicker hourNumberPicker = findViewById(hourNumberPickerId);NumberPicker minuteNumberPicker = findViewById(minuteNumberPickerId);setNumberPickerDivider(hourNumberPicker, Color.YELLOW);setNumberPickerDivider(minuteNumberPicker, Color.GREEN);setNumberpickerTextColour(hourNumberPicker, Color.RED);setNumberpickerTextColour(minuteNumberPicker, Color.BLUE);//        setPickerSize(hourNumberPicker, 30, this);}//指定分割线颜色private void setNumberPickerDivider(NumberPicker numberPicker, int color) {try {Field dividerFields = NumberPicker.class.getDeclaredField("mSelectionDivider");dividerFields.setAccessible(true);dividerFields.set(numberPicker, new ColorDrawable(color));} catch (NoSuchFieldException | IllegalAccessException | IllegalArgumentException e) {Log.w("setNumberPickerTxtClr", e);}}//另一种指定文字颜色的方法private void setNumberpickerTextColour(NumberPicker number_picker, int color) {final int count = number_picker.getChildCount();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 | IllegalAccessException | IllegalArgumentException e) {Log.i("setNumberPickerTxtClr", "set_numberpicker_text_colour: "+e);}}}//指定NumberPicker大小                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                改的NumberPicker和NumberPicker的宽度值private static void setPickerSize(NumberPicker np, int widthDpValue,Context context) {int widthPxValue = ToolUtils.dp2px(context, widthDpValue);LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(widthPxValue, LinearLayout.LayoutParams.WRAP_CONTENT);params.setMargins(0, 0, 0, 0);np.setLayoutParams(params);}

显示效果

TimePicker使用全解相关推荐

  1. 一般将来时语法课教案_「英语语法」一般过去时用法技巧全解

    大家好,我是教课蚪英语的张老师,今天我们来学习英语语法100讲的第一课,一般过去时! 一.首先我们了解一下什么是一般过去时? 英语语法 1. 概念: 描述过去的状态或过去的动作. 在英语中,非现在的以 ...

  2. atca背板_ATCA介绍全解.ppt

    ATCA介绍全解 ATCA - 概述Advanced Telecommunications Computing Architecture 高性能计算机和网络通信设备的要求: 1) 足够强的数据处理能力 ...

  3. 生成对抗网络gan原理_中国首个“芯片大学”即将落地;生成对抗网络(GAN)的数学原理全解...

    开发者社区技术周刊又和大家见面了,萌妹子主播为您带来第三期"开发者技术联播".让我们一起听听,过去一周有哪些值得我们开发者关注的重要新闻吧. 中国首个芯片大学,南京集成电路大学即将 ...

  4. Java IO编程全解(五)——AIO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7794151.html 前面讲到:Java IO编程全解(四)--NIO编程 NIO2.0引入了新的异步通道的 ...

  5. Sql Server函数全解三数据类型转换函数和文本图像函数

    原文:Sql Server函数全解<三>数据类型转换函数和文本图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近 ...

  6. html5相关介绍ppt,html5介绍全解.ppt

    html5介绍全解 渐变 (Gradients) 线性渐变: background: linear-gradient(to right, red, orange, yellow, green, blu ...

  7. 语义分割中的深度学习方法全解:从FCN、SegNet到各版本DeepLab

    语义分割中的深度学习方法全解:从FCN.SegNet到各版本DeepLab 原文:https://www.sohu.com/a/155907339_610300 图像语义分割就是机器自动从图像中分割出 ...

  8. 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt

    第一章计算机基础概述全解 1.2.3 汉字编码 汉字的编码 国标码:中文内码之一,汉字信息交换的标准编码.国标码是不可能在计算机内部直接采用.于是, 汉字的机内码采用变形国标码 . 国标码:作为转换为 ...

  9. python100个必背知识-python编程面试中必考的知识点,数据类型全解,笔记超全面...

    原标题:python编程面试中必考的知识点,数据类型全解,笔记超全面 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可以专注于 ...

  10. python中的format什么意思中文-Python中format()格式输出全解

    格式化输出:format() format():把传统的%替换为{}来实现格式化输出 1.使用位置参数:就是在字符串中把需要输出的变量值用{}来代替,然后用format()来修改使之成为想要的字符串, ...

最新文章

  1. App Store兼容性问题
  2. oracle归档模式教程,Oracle从归档模式变成非归档模式详细步骤
  3. BZOJ4034 树上操作(树剖 线段树大模板)
  4. 家乐福首家付费会员店遇到「喜与忧」背后,行业同质化问题浮出水面
  5. 稀缺:百分之二的选择
  6. System.IO 的三个抽象类
  7. Check Dependency 2(一个检查.net部署文件完整性及一致性工具)
  8. dart 替代java_Dart与Java的语法区别
  9. Linux中的提权操作
  10. 自考那些事儿(六):计算机网络原理(总述篇)
  11. dialog对话框初始化 mfc_MFC添加子对话框及如何初始化
  12. 开源:Http接口测试程序
  13. mysql怎么进行删除操作_利用PHP怎么对MySQL数据库进行删除操作
  14. iview tree 之如何获取已勾选的节点
  15. mysql表analyze_MySQL ANALYZE Optimize Check Table使用详解
  16. FlashFXP注册码-FlashFXP密钥
  17. 哈工大计算机考研复试考纲,哈尔滨工业大学考研复试大纲
  18. AutoIt 快速入门指南
  19. 网络与社会导论之幂律与富者更富及其与长尾、齐普夫定律等的关系
  20. 互联网创业赚钱规则,彻底释放自己的价值吧!丨国仁网络

热门文章

  1. dts : rx8025t与lm75bd
  2. python识别图像中的文字并点击_Python图像处理之识别图像中的文字(实例讲解)
  3. 【毕业设计全篇论文和源码】基于SSM的实体商城商户在线租赁以及信息管理系统的设计与实现(多人在线聊天室,微信扫码支付,在线签字,PDF合同在线生成,商户评分)
  4. pychart绘制中国地图用英文省名
  5. 编译原理-语法分析详解
  6. python开根_python如何开根号
  7. 01 学习如鹏网的C语言免费课程
  8. 浅析智慧城市顶层设计的相关概念
  9. 电脑管家急救箱linux,腾讯电脑管家系统急救箱
  10. 学校教师使用计算机管理制度,教师办公室电脑使用及学校网络管理制度