Android日期选择控件效果如下:
调用的代码:
@OnClick (R.id.btn0) 公共空间btn0 () { 最后AlertDialog对话框=new AlertDialog.Builder(上下文)共创(); dialog.show (); 窗口窗口=dialog.getWindow (); window.setContentView (R.layout.dialog_change_date); 窗口。setBackgroundDrawable(新ColorDrawable (0 x00000000));//处理5.0以上对话框的白边问题 window.setGravity (Gravity.BOTTOM); 最后DatePickerView DatePickerView=(DatePickerView) window.findViewById (R.id.datePickerView);//打开页面时需要选中的日期TODO datePickerView。设置当前日期(2015、5、11);//datePickerView。设置当前日期(birthdayArray [0], birthdayArray [1], birthdayArray [2]); 最后一个int [] birthdayArray=new int [3]; datePickerView。addOnSelectedChangingListener(新DatePickerView.OnSelectedChangedListener () { @Override 公共空间> & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !——widget_date_picker.xml祝辞 & lt; !——注意修改页面自定义控件的包名——比; & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android " android: layout_width=" match_parent " android: layout_height=" wrap_content " 面向android:="水平"比; & lt; de.bvb.rxdemo.widget.DateSelectWidget.wheelview.WheelView android: id=癅 + id/wheelViewYear” android: layout_width=" 0 dp” android: layout_height=" match_parent " android: layout_gravity="中心" android: layout_weight=" 1 "/比; & lt; de.bvb.rxdemo.widget.DateSelectWidget.wheelview.WheelView android: id=癅 + id/wheelViewMonth” android: layout_width=" 0 dp” android: layout_height=" match_parent " android: layout_gravity="中心" android: layout_weight=" 1 "/比; & lt; de.bvb.rxdemo.widget.DateSelectWidget.wheelview.WheelView android: id=癅 + id/wheelViewDay” android: layout_width=" 0 dp” android: layout_height=" match_parent " android: layout_gravity="中心" android: layout_weight=" 1 "/比; & lt;/LinearLayout> >之前& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !——dialog_change_date.xml祝辞 & lt; !——注意修改页面自定义控件的包名——比; & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android " android: layout_width=" match_parent " android: layout_height=" match_parent " android:背景=" @android:颜色/透明” android:重力="底" 面向android:=按怪薄北? LinearLayout & lt; android: layout_width=" match_parent " android: layout_height=" wrap_content " android:背景=" @android:颜色/白” 面向android:=按怪薄北? LinearLayout & lt; android: layout_width=" match_parent " android: layout_height=" 48 dp " 面向android:="水平"比; & lt; TextView android: id=癅 + id/tvCancel” android: layout_width=" 0 dp” android: layout_height=" match_parent " android: layout_weight=" 1 " android:背景=" # F9F9F9” android:重力="中心" android:文本="取消” android:输入textColor=" # 43 aafc "/比; & lt;视图 android: layout_width=" 1 px " android: layout_height=" match_parent " android:背景=" # D7D7D7 "/比; & lt; TextView android: id=癅 + id/tvOK” android: layout_width=" 0 dp” android: layout_height=" match_parent " android: layout_weight=" 1 " android:背景=" # F9F9F9” android:重力="中心" android:文本="确定” android:输入textColor=" # 43 aafc "/比; & lt;/LinearLayout> & lt;视图 android: layout_width=" match_parent " android: layout_height=" 1 px " android:背景=" # D7D7D7 "/比; & lt; de.bvb.rxdemo.widget.DateSelectWidget.DatePickerView android: id=癅 + id/datePickerView” android: layout_width=" match_parent " android: layout_height=" wrap_content "/比; & lt;/LinearLayout> & lt;/LinearLayout> >之前3. java文件
包de.bvb.rxdemo.widget.DateSelectWidget; 进口android.content.Context; 进口android.util.AttributeSet; 进口android.view.LayoutInflater; 进口android.view.View; 进口android.widget.LinearLayout; 进口android.widget.TextView; 进口java.util.ArrayList; 进口de.bvb.rxdemo.R; 进口de.bvb.rxdemo.widget.DateSelectWidget.wheelview.OnWheelChangedListener; 进口de.bvb.rxdemo.widget.DateSelectWidget.wheelview.OnWheelScrollListener; 进口de.bvb.rxdemo.widget.DateSelectWidget.wheelview.WheelView; 进口de.bvb.rxdemo.widget.DateSelectWidget.wheelview.adapter.AbstractWheelTextAdapter1; 公开课DatePickerView LinearLayout{延伸 私有静态最终int YEAR_MIN=1950; 私有静态最终int YEAR_MAX=2020; 私人int年=YEAR_MIN; 私人int月=1; 私人int天=1; 私人ArrayListAndroid自定义控件之日期选择控件使用详解