日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 开发 时间选择器TimePicker的使用

發布時間:2025/3/21 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 开发 时间选择器TimePicker的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
android 開發 時間選擇器TimePicker的使用 android系統自帶時間控件:

DatePicker 日期顯示控件?
DatePickerDialog 日期對話框控件
TimePicker 時間顯示控件

TimePickerDialog 時間對話框控件


首先是布局的創建:

<TimePickerandroid:id="@+id/timepicker"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:background="#ffffff"/>

TimePicker 本身自帶兩種風格,都可以在xml中設置,一種是

android:timePickerMode="clock"

另一種是:

android:timePickerMode="spinner"


TimePicker的顯示規模大小設置

android:scaleX="2" android:scaleY="2"

效果:


之后就是一些TimePicker的使用方法了:
mTimepicker = (TimePicker) inflate.findViewById(R.id.timepicker);mTimepicker.setDescendantFocusability(TimePicker.FOCUS_BLOCK_DESCENDANTS); //設置點擊事件不彈鍵盤mTimepicker.setIs24HourView(true); //設置時間顯示為24小時mTimepicker.setHour(8); //設置當前小時 mTimepicker.setMinute(10); //設置當前分(0-59)mTimepicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { //獲取當前選擇的時間@Overridepublic void onTimeChanged(TimePicker view, int hourOfDay, int minute) {} });



接下來就是一些需要用到反射的方法了,比如更改分割線的樣式,設置起始截止時間等:首先我們要通過反射獲取TimePicker源碼里hour和minute的id:Resources systemResources = Resources.getSystem(); int hourNumberPickerId = systemResources.getIdentifier("hour", "id", "android"); int minuteNumberPickerId = systemResources.getIdentifier("minute", "id", "android");然后用我們定義的TimePicker來獲取這個id并轉換成hour和minute對應的NumberPicker: NumberPicker hourNumberPicker = (NumberPicker) mTimepicker.findViewById(hourNumberPickerId); NumberPicker minuteNumberPicker = (NumberPicker) mTimepicker.findViewById(minuteNumberPickerId);通過獲取到的hourNumberPicker和minuteNumberPicker我們可以先進行TimePicker的時間限制:hourNumberPicker.setMinValue(8); //設置最小hour hourNumberPicker.setMaxValue(12); //設置最大hour minuteNumberPicker .setMinValue(0); //設置最小minute minuteNumberPicker .setMaxValue(30); //設置最大minute

修改滾動條背景顏色:

hourNumberPicker.setBackgroundColor(getResources().getColor(R.color.colorBlue));// 修改背景顏色


TimePicker分割線的顏色和高度:
private void setNumberPickerDivider(NumberPicker numberPicker) {NumberPicker picker = numberPicker;Field[] pickerFields = NumberPicker.class.getDeclaredFields();for (Field pf : pickerFields) {if (pf.getName().equals("mSelectionDivider")) { //設置顏色pf.setAccessible(true);ColorDrawable colorDrawable = new ColorDrawable(ContextCompat.getColor(this, R.color.colortime)); //選擇自己喜歡的顏色try {pf.set(numberPicker, colorDrawable);} catch (IllegalAccessException e) {e.printStackTrace();}}if (pf.getName().equals("mSelectionDividerHeight")) { //設置高度pf.setAccessible(true);try {int result = 3; //要設置的高度pf.set(picker, result);} catch (Exception e) {e.printStackTrace();}break;}picker.invalidate();} }
posted on 2018-06-01 15:33?觀心靜 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/guanxinjing/p/9708610.html

總結

以上是生活随笔為你收集整理的android 开发 时间选择器TimePicker的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。