一、DatePicker和TimePicker簡介
DatePicker是一個日期選擇控件,它繼承自FrameLayout類,用來實現的主要功能是使用護可以方便選擇日期。如果要捕獲用戶修改DataPicker控件中的數據改變事件,需要為DatePicker添加OnDateChangedListener監聽器。
TimePicker是一個時間選擇控件,也繼承自FrameLayout類。時間選擇控件向用戶顯示一天中的時間(可以為24小時,也可以為AM/PM制),并允許用戶進行選擇。如果要捕獲用戶修改時間數據的事件,便需要為TimePicker添加OnTimeChangedListener監聽器。
二、修改DatePicker字體顏色
修改DatePicker字體顏色:如果通過修改空間顏色屬性,字體顏色沒有改變,可以通過修改DatePicker所在的Activity的theme,在清單文件AndroidManifest.xml對應的Activity加上如下代碼:
android:theme="@android:style/Theme.Holo.Light.DialogWhenLarge.NoActionBar"
DatePicker字體顏色即可變成黑色,效果如下:


三、修改DatePicker分割線顏色
setDatePickerDividerColor(datePicker);
/**
* 設置時間選擇器的分割線顏色
*
* @param datePicker
*/
private void setDatePickerDividerColor(DatePicker datePicker) {
// Divider changing:
// 獲取 mSpinners
LinearLayout llFirst = (LinearLayout) datePicker.getChildAt(0);
// 獲取 NumberPicker
LinearLayout mSpinners = (LinearLayout) llFirst.getChildAt(0);
for (int i = 0; i < mSpinners.getChildCount(); i++) {
NumberPicker picker = (NumberPicker) mSpinners.getChildAt(i);
Field[] pickerFields = NumberPicker.class.getDeclaredFields();
for (Field pf : pickerFields) {
if (pf.getName().equals("mSelectionDivider")) {
pf.setAccessible(true);
try {
pf.set(picker, new ColorDrawable(Color.parseColor("#cccccc")));//設置分割線顏色
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (Resources.NotFoundException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
break;
}
}
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。