35

日付ピッカーダイアログをアクティブにするスピナーのようなテキストボックスを取得しようとしています。これは、ICSのGoogleカレンダーアプリと連絡先アプリ(誕生日用)の両方で行われます。スピナーを使用する必要がありますか?使用する場合、入力ビューを日付ピッカーに変更するにはどうすればよいですか?または、そうでない場合は、テキストビューに、通常はスピナーを示す小さな三角形を表示するにはどうすればよいですか?

4

4 に答える 4

61

彼の答えに対するTwaddingtonのコメントは、実際には正しいアプローチです。必要なのは、テキストビューを作成してスタイルを適用することです

style="@android:style/Widget.DeviceDefault.Light.Spinner"

次に、テキスト ビューでクリック リスナーを作成し、それを使用して DatePickerDialog を開くことができます。これは、次のように実行できます: https://stackoverflow.com/a/8127571/332738 (例に従う場合は、DatePickerDialogFragment回転時にアプリがクラッシュしないように、既定のコンストラクターを追加することを忘れないでください)

于 2012-06-03T22:46:46.987 に答える
21

これがまだ必要かどうかはわかりません。ただし、連絡先アプリでは、次の方法で実現されます。

<Button
    ...
    style="?android:attr/spinnerStyle"
    ... />

これは、API レベル 1 以降で利用できるため、すべての Android バージョンで機能するはずです: http://developer.android.com/reference/android/R.attr.html#spinnerStyle

于 2012-12-23T13:39:23.920 に答える
8

これがあなたが求めているものであるかどうかはわかりませんが、Android開発者のWebサイトで日付ピッカーのチュートリアルに従うことができるはずです。

また、DatePickerクラスとDatePickerDialogクラスは一見の価値があるかもしれません。

于 2012-02-23T03:58:32.683 に答える
0

Googleの連絡先のようなSpinnerのテーマの下を好む.

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:spinnerStyle">@style/AppTheme.Form.Spinner</item>
        <item name="android:spinnerItemStyle">@style/AppTheme.Form.Spinner.Item</item>
    </style>

    <!-- Spinner Styles -->
    <style name="AppTheme.Form.Spinner" parent="Widget.AppCompat.Spinner">
        <item name="android:paddingRight">0dp</item>
        <item name="android:paddingEnd">0dp</item>
    </style>
    <style name="AppTheme.Form.Spinner.Item" parent="Widget.AppCompat.EditText">
        <item name="android:clickable">false</item>
    </style>
</resources>
于 2016-04-07T11:47:30.200 に答える