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

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

概述我刚开始学习 Android作为一种爱好,我想创建一个带有两个datepicker的对话框 final Dialog dialog = new Dialog(this);dialog.setContentView(R.layout.data_picker_dialog);dialog.setTitle(R.string.date_period_picker);dialog.show();r 我刚开始学习 Android作为一种爱好,我想创建一个带有两个datepicker的对话框
final Dialog dialog = new Dialog(this);dialog.setContentVIEw(R.layout.data_picker_dialog);dialog.setTitle(R.string.date_period_picker);dialog.show();return true;

如何从对话框中获取所选值?是否有可能在对话框中自动包含“确定/取消”按钮?

是否有具有此类功能的库(开始和结束日期/期间选择)?

解决方法 最好先阅读 DialogsPickers.

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

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

/res/layout/custom_date_picker.xml

<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical" >    <DatePicker        androID:ID="@+ID/dpStartDate"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:calendarVIEwShown="false" />    <DatePicker        androID:ID="@+ID/dpEndDate"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_gravity="center"        androID:calendarVIEwShown="false" /></linearLayout>

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

// These variables will hold the date values laterprivate 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()即可显示此对话框.

总结

以上是内存溢出为你收集整理的android – 如何使用两个datepicker创建自定义对话框?全部内容,希望文章能够帮你解决android – 如何使用两个datepicker创建自定义对话框?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1133986.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存