600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > android datepicker 自定义 android – 如何使用两个datepicker创建自定义对话框?

android datepicker 自定义 android – 如何使用两个datepicker创建自定义对话框?

时间:2019-02-15 13:26:36

相关推荐

android datepicker 自定义 android – 如何使用两个datepicker创建自定义对话框?

最好先阅读

Dialogs和

Pickers.

至于实现,您可以有两个按钮:一个用于显示开始日期的日期选择器,另一个用于显示结束日期.

编辑:如果你真的想在1个对话框中显示2个日期选择器,这里有一个如何做的例子.首先,创建自定义XML布局.

/res/layout/custom_date_picker.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/dpStartDate"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:calendarViewShown="false" />

android:id="@+id/dpEndDate"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:calendarViewShown="false" />

接下来是在对话框中使用上面的布局:

// These variables will hold the date values later

private int startYear,startMonth,startDay,endYear,endMonth,endDay;

/**

* Displays the start and end date picker dialog

*/

public void showDatePicker() {

// Inflate your custom layout containing 2 DatePickers

LayoutInflater inflater = (LayoutInflater) getLayoutInflater();

View customView = inflater.inflate(R.layout.custom_date_picker,null);

// Define your date pickers

final DatePicker dpStartDate = (DatePicker) customView.findViewById(R.id.dpStartDate);

final DatePicker dpEndDate = (DatePicker) customView.findViewById(R.id.dpEndDate);

// Build the dialog

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setView(customView); // Set the view of the dialog to your custom layout

builder.setTitle("Select start and end date");

builder.setPositiveButton("OK",new DialogInterface.OnClickListener(){

@Override

public void onClick(DialogInterface dialog,int which) {

startYear = dpStartDate.getYear();

startMonth = dpStartDate.getMonth();

startDay = dpStartDate.getDayOfMonth();

endYear = dpEndDate.getYear();

endMonth = dpEndDate.getMonth();

endDay = dpEndDate.getDayOfMonth();

dialog.dismiss();

}});

// Create and show the dialog

builder.create().show();

}

最后,您只需调用showDatePicker()即可显示此对话框.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。