SQLの窓 イラストAC フリー素材

2016年06月27日

Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker コントロールの扱い

手持ちの 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の最新記事】
posted by at 2016-06-27 10:31 | Comment(0) | Android | このブログの読者になる | 更新情報をチェックする
SQLの窓全体の検索
Custom Search
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。


Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX