序言
最近忙中偷閒,想把我在Android開發中使用系統提供的日期、時間控件中所遇到的奇葩問題,通過本篇文章簡略地向大家說明一下,並且把我所使用的有效解決方案也同時向有需要的讀者說明一下。
其實在使用DatePicker 及TimePicker 這兩個控件前,便大致對這兩個控件有過些許的瞭解,但在使用時便遇到了一個巨大的問題。
開發環境
Android studio 1.3.2
jdk1.8.0_65
編譯版本:API 19: Android 4.4 (KitKat)
build tool:22.0.1
調試手機:小米2S
調試手機版本:5.0.2
DatePicker 及TimePicker 控件是寫在佈局文件(xml)中,並非使用DatePickerDialog和TimePickerDialog
問題描述
正常調用DatePicker 控件,但DatePicker 顯示的樣式爲 Material Design中的樣式(貌似也是Android5.0以後的樣式),如下圖
而我想要的卻是下圖的效果
起初,翻遍網上的資料,說是需要在清單文件中改變activity的樣式,我便照着做了 在對應的activity中添加了如下
android:theme="@android:style/Theme.Holo.Light"
但問題還是沒解決
解決方法
由於之前的DatePicker 及TimePicker 控件放在AlertDialog中,之後改成放在popupwindow上,奇蹟就出現了DatePicker 及TimePicker 的樣式變成我所需要的了
所以,本人使用的解決方法便是在popupwindow上顯示DatePicker 和TimePicker
注:在使用DatePicker 時,默認會顯示日曆表,顯示樣式如下圖。只需在佈局文件中添加android:calendarViewShown="false" 後便會隱藏日曆表,顯示樣式爲上文第二張圖