3

目前,我的微调器处于dialog模式。

        <Spinner
            android:spinnerMode="dialog"
            android:id="@+id/genderSpinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:entries="@array/gender_array"
            android:prompt="@string/gender_prompt" />

它会显示这样的东西

在此处输入图像描述

但是,有时,我希望控制要显示的对话框类型。例如,我想在单击微调器时显示一个带有日期选择器的对话框。

请注意,谷歌日历确实有这样的控件。

在此处输入图像描述

我可以知道如何实现这一目标吗?

4

2 回答 2

22

不要使用 Spinner,而是使用 TextView,并为其安装点击侦听器。

为了让 TextView 看起来像 Spinner,这里是技术

        <TextView
            android:id="@+id/date"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.72"
            android:text="Aug 20, 2012"
            style="@android:style/Widget.Holo.Light.Spinner" />

或者

        <TextView
            android:id="@+id/date"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.72"
            android:text="Aug 20, 2012"
            style="@android:style/Widget.Holo.Spinner" />
于 2012-09-28T02:04:27.600 回答
1

我认为您将无法使用 Spinner 进行这项工作。Spinner 的概念是,它期望显示一个项目列表供用户选择。

我认为您应该使用弹出包含 DatePicker 的自定义对话框的按钮,而不是 Spinner。如果您愿意,您甚至可以正确连接它以将所选日期显示为按钮上的文本。

于 2012-08-29T03:11:52.480 回答