手持ちの Android が 5.1 なら何も考えなくて良いのですが、実機テストをする為に Android 4.4 を Min SDK に設定しています。この状態で、DatePicker コントロールを貼り付けると以下のようになります。
そして、プレビューを API 19 に変更すると以下のようになります。
実際、実機で実行するとその通りに Spinner 状態で表示され、setSpinnersShown と setCalendarViewShown で変更すると、表示も変わってくれます。
![]()
![]()
しかし、Android5.1(API 22)では、setSpinnersShown と setCalendarViewShown は動作してくれません。初期表示はカレンダー状態になります。( 月の変更の方法が良くわかりません )
そして、setSpinnersShown と setCalendarViewShown を動作させるには、スタイルを定義して DatePicker コントロール に設定してやる必要があります。ただ、これをする場合 Android 4.4(API 19) では、動作しないので Min SDK を変更する必要が出てきてしまいます。( 当然ですが、デバイス選択で実機が Gray out するので実機には転送できなくなります )
![]()
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="MyDatePicker" parent="android:Widget.Material.DatePicker">
<item name="android:datePickerMode">spinner</item>
</style>
</resources>
![]()
メインテーマに以下のように設定しておけば、DatePicker コントロールにスタイルを設定する必要はありません
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:datePickerStyle">@style/MyDatePicker</item>
</style>
<style name="MyDatePicker" parent="android:Widget.Material.DatePicker">
<item name="android:datePickerMode">spinner</item>
</style>
</resources>
タグ:android
|
|
【Androidの最新記事】
- Android Studio : LiveDoor のお天気情報をリストビューに表示する手順
- Android のメニュー項目を条件が満たされた時のみ利用可能にする / onPrepareOptionsMenu
- Android Studio : LiveDoor のお天気情報をリストビューに表示した後、第二画面で name を変更して第一画面で再表示する手順
- Android の教科書到着しました。
- Android Studio をちょっと古い PC で使うと エミュレータが実行されなかった。
- Android Studio で、Failed to find target with hash string というエラーが出たら、Module の build.gradle を変更します
- Android Studio で Fragment の tools:layout で画面を指定して MainActivity には処理を書かないアプリケーション
- Android の SeekBar を縦方向で使用する設定
- Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker ダイアログの扱い
- Android Studio でプロジェクトを読み込むと、Error : C:\Users\User\.gradle\caches... と表示されて gradle の処理が出来なくなる場合の対処
- Android Studio 1.4.1 : Android 純正 Data Binding テンプレート
- Android アプリ作成の基礎 : PDF で問題
- Android Chrome の 謎の(?) 241文字仕様 / 241文字以上のコンテンツは文字が大きく表示される
- Android Studio : 行の途中で改行した時のインデント数を 1 にする
- Android Studio : キャラクタセット
- Android Studio : 起動時にプロジェクトを読み込まない設定
- Android Studio の SDK ヘのパスの変更
- armeabi-v7a しか動かない、ちょっと古い PC で、どーしてもエミュレータが起動しなくてやった事( 動いた、万歳 )
- Android 5.1 + Pleiades( Luna ) + ADT Plugin
- Android 5.1 エミュレータ + Android Studio 1.1.0 実行イメージ







この状態で、DatePicker コントロールを貼り付けると以下のようになります。
そして、プレビューを API 19 に変更すると以下のようになります。
実際、実機で実行するとその通りに Spinner 状態で表示され、setSpinnersShown と setCalendarViewShown で変更すると、表示も変わってくれます。
しかし、Android5.1(API 22)では、setSpinnersShown と setCalendarViewShown は動作してくれません。初期表示はカレンダー状態になります。( 月の変更の方法が良くわかりません )
そして、setSpinnersShown と setCalendarViewShown を動作させるには、スタイルを定義して DatePicker コントロール に設定してやる必要があります。ただ、これをする場合 Android 4.4(API 19) では、動作しないので Min SDK を変更する必要が出てきてしまいます。(
メインテーマに以下のように設定しておけば、DatePicker コントロールにスタイルを設定する必要はありません





















