带dateselect器的Android微调器,如Google日历应用

我想获得一个文本框,看起来像一个微调,以激活dateselect器对话框。 这是在ICS上的Google日历应用程序和联系人应用程序(用于出生date)中完成的。 我是否需要使用微调,如果是的话,如何将其input视图更改为dateselect器? 或者,如果没有,我怎么得到一个文本视图有一个小三angular,通常表示一个微调?

Twaddington对他的回答的评论实际上是正确的方法。 你需要的是创build一个文本视图和应用风格

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

然后,您可以在文本视图上创build点击侦听器,并使用它来打开DatePickerDialog。 这可以完成,如下所示: https : //stackoverflow.com/a/8127571/332738 (如果你按照这个例子,记得添加一个默认的构造函数DatePickerDialogFragment以便您的应用程序不旋转时崩溃)

我不知道你是否还需要这个。 但在联系人应用程序中,它是通过以下方式实现的:

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

这应该适用于所有Android版本,因为它是可用的,因为API级别1: http : //developer.android.com/reference/android/R.attr.html#spinnerStyle

我不确定这是否是您要求的内容,但是您应该能够在Android开发人员网站上关注“ date选取器”教程 。

此外, DatePicker和DatePickerDialog类可能值得一看。

我更喜欢微调主题像谷歌联系人。

 <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>