我想创建一个可以同时选择时间和日期的对话框。
我知道there is not a default widget that can do that on Android .我也知道有open source projects关于如何做类似的工作人员。这个项目的问题是在对话框中我们有两个按钮:datePicker和timePicker。
这不是我想要做的 - 我希望日期和时间选择器同时出现。
所以我认为两个主要问题将是:
- 首先让时间和日期选择器出现在同一个对话框中。
- 第二个问题是更改时间和日期选择器的外观(橙色)。
第一个问题由 Bhavesh 解决。这是我得到的:
现在的问题是我想将所有蓝条颜色更改为橙色。
我添加了 android:calendarViewShown="false"
以删除右侧的日历 :) 感谢 Bhavesh,我将主题更改为 HOLO
这是我得到的:
您可以下载代码(这是我能做的最好的)。您可以从 here 下载.
最佳答案
First make the time and date picker appear in the same dialog
在这里我可以帮助您:您可以在 LinearLayout
中创建一个由 DatePicker
和一个 TimePicker
组成的布局,并带有方向设置为垂直。
custom_dialog.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<DatePicker
android:id="@+id/datePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</DatePicker>
<TimePicker
android:id="@+id/timePicker1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</TimePicker>
</LinearLayout>
然后使用这个布局来创建你的对话框。
Dialog dialog = new Dialog(mContext);
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle("Custom Dialog");
要对与您的 TimePicker
交互的用户使用react,请执行以下操作:
TimePicker tp = (TimePicker)dialog.findViewById(R.id.timepicker1);
tp.setOnTimeChangedListener(myOnTimechangedListener);
若要在用户完成设置后从 Date- 和 TimePicker 中获取值,请在对话框中添加一个 OK 按钮,然后在用户按下 OK 时从 Date- 和 TimePicker 中读取日期和时间值。
要制作与屏幕截图完全相同的内容,我建议您按照自己的逻辑自定义所有内容。
关于android - 日期和时间选择器对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14254093/