精华内容
下载资源
问答
  • Android 日期选择控件

    2018-06-12 17:10:37
    一款支持上下滑动的日期选择控件,中间位置有两条线,在选择的日期后面,自动添加年月日文字。
  • android日期选择控件

    千次阅读 2016-12-16 09:14:55
    PickTime日期选择控件效果DateType TYPE_ALL–年、月、日、星期、时、分 TYPE_YMDHM–年、月、日、时、分 TYPE_YMDH–年、月、日、时 TYPE_YMD–年、月、日 TYPE_HM–时、分 how to use Add it in your root build....

    PickTime

    日期选择控件

    效果

    这里写图片描述

    源码地址:pickTime 欢迎start~

    DateType

    • TYPE_ALL–年、月、日、星期、时、分
    • TYPE_YMDHM–年、月、日、时、分
    • TYPE_YMDH–年、月、日、时
    • TYPE_YMD–年、月、日
    • TYPE_HM–时、分

    how to use

    • Add it in your root build.gradle at the end of repositories:
            allprojects {
               repositories {
                ...
                maven { url 'https://jitpack.io' }
            }
            }
    • Add the dependency
        dependencies {
                compile 'com.github.codbking:PickTime:v1.0.0'
        }
    • java
            DatePickDialog dialog = new DatePickDialog(this);
            //设置上下年分限制
            dialog.setYearLimt(5);
            //设置标题
            dialog.setTitle("选择时间");
            //设置类型
            dialog.setType(DateType.TYPE_ALL);
            //设置消息体的显示格式,日期格式
            dialog.setMessageFormat("yyyy-MM-dd HH:mm");
            //设置选择回调
            dialog.setOnChangeLisener(null);
            //设置点击确定按钮回调
            dialog.setOnSureLisener(null);
            dialog.show();
    展开全文
  • 主要为大家详细介绍了Android日期选择控件的使用,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 有没有android日期选择控件,能直接选择上午、下午、晚上时间段的。
  • 滚动显示的日期控件,有闰年判断,开始日期与结束日期的限制功能。 使用代码如下 private CustomDatePicker datePicker1; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA); ...

    在网上找了个日期控件,并在下载的版本上做了些改动,实现

    滚动显示的日期控件,有闰年判断,开始日期与结束日期的限制功能。

    使用代码如下

    private CustomDatePicker datePicker1;
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA);
    String now = sdf.format(new Date());
    datePicker1 = new CustomDatePicker(getActivity(), new CustomDatePicker.ResultHandler() {
        @Override
        public void handle(String time) { // 回调接口,获得选中的时间
            ed1.setText(time.split(" ")[0]);
        }
    }, "1970-01-01 00:00", now); // 初始化日期格式请用:yyyy-MM-dd HH:mm,否则不能正常运行
    datePicker1.showSpecificTime(false); // 不显示时和分
    datePicker1.setIsLoop(false); // 不允许循环滚动

    具体代码见附件代码

    日期控件界面如下(请忽略掉黑线,屏幕的问题),可以开放显示时、分。


    完整代码路径


    展开全文
  • android日期选择控件DatePicker小结

    千次阅读 2016-07-21 14:43:05
    最近手上的项目要求弄一个包含两个日期选择控件的UI界面(即开始时间和结束时间)。 一、 一开始就想到使用自带的DatePicker控件。但是发现其UI很难调整到项目想要的效果。尤其是其与项目theme的关系,在xml中设置...

    更新:

    通过为TimePicker控件增加属性,使其具有是否以当前时间为上限的属性设置。


    1、在attrs.xml文件中增加:

    <declare-styleable name="TimePicker">
        <attr name="Timelimited" format="boolean"/>
       
    </declare-styleable>

    2、在需要使用TimePicker控件的xml中设置:

    xmlns:timePicker="http://schemas.android.com/apk/res-auto"
    并在控件处使用:

    <com.xxx.pickerview.TimePicker
        android:id="@+id/datepicker_start"
        timePicker:Timelimited="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

    这样我们就能在TimePicker的构造函数中获取该属性并根据其值做相应操作:

    比如下面的  flag  就是我们上面设置的属性值;

    public TimePicker(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray a = context.obtainStyledAttributes(attrs,
                R.styleable.TimePicker);
        boolean flag = a.getBoolean(R.styleable.TimePicker_Timelimited,false);
        LayoutInflater.from(context).inflate(R.layout.pickerview_time, this,true);//这是对上面两句的包装。
        final View timepickerview = findViewById(R.id.timepicker);
        wheelTime = new WheelTime(timepickerview, TimePickerType.Type.YEAR_MONTH_DAY);
        if (!flag){
            int endYear=a.getInt(R.styleable.TimePicker_endYear,2900);
    
            wheelTime.setEndYear(endYear);
        }


    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    最近手上的项目要求弄一个包含两个日期选择控件的UI界面(即开始时间和结束时间)。

    一、

    一开始就想到使用自带的DatePicker控件。但是发现其UI很难调整到项目想要的效果。尤其是其与项目theme的关系,在xml中设置style也不好使。从Popwindow到AlertDialog都试过了,只有含单个DatePicker的DateAlertDialog还比较赏心悦目,却不满足项目需要。

    于是决定用自定义DatePicker来实现。

    通过一番波折,自己实现了大部分功能,但对日期的年月日的配合调整的不是很好。

    无意间在网上发现了Pickerview这个开源项目。(地址:https://github.com/saiwu-bigkoo/Android-PickerView#demo-图片)其中的TimePickerView比较符合我的需求,就借来稍加改动,使用了起来。


    二、

    由于TimePickerView的不是传统意义上的控件,其使用方式比较固定,不方便。我稍加改动,创建了TimePicker控件。

    该控件的功能是:提供年月日用于选择,可选范围是:1990年1月1日到当前时间。 通过getTime()可以获取用户选择的时间。

    代码:

    1、Timepicker.java

    public class TimePicker extends LinearLayout {
    
        WheelTime wheelTime;
    
        private OnTimeSelectListener timeSelectListener;
    
        public TimePicker(Context context) {
            super(context);
        }
    
        public TimePicker(Context context, AttributeSet attrs) {
            super(context, attrs);
            LayoutInflater.from(context).inflate(R.layout.pickerview_time, this,true);//这是对上面两句的包装。
            final View timepickerview = findViewById(R.id.timepicker);
            wheelTime = new WheelTime(timepickerview, TimePickerType.Type.YEAR_MONTH_DAY);
            //默认选中当前时间
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            int hours = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            wheelTime.setPicker(year, month, day, hours, minute);
    
    
            this.setClickable(true);
            this.setFocusable(true);
        }
        public Date getTime(){
           String time= wheelTime.getTime();
            Log.d("TimePicker","--------------getTime  "+time);
            SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
            Date d=new Date();
            try {
               d=dateFormat.parse(time);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return d;
        }
    
    
    
        /**
         * 设置可以选择的时间范围
         * 要在setTime之前调用才有效果
         * @param startYear 开始年份
         * @param endYear 结束年份
         */
        public void setRange(int startYear, int endYear) {
            wheelTime.setStartYear(startYear);
            wheelTime.setEndYear(endYear);
        }
    
        /**
         * 设置选中时间
         * @param date 时间
         */
        public void setTime(Date date) {
            Calendar calendar = Calendar.getInstance();
            if (date == null)
                calendar.setTimeInMillis(System.currentTimeMillis());
            else
                calendar.setTime(date);
            int year = calendar.get(Calendar.YEAR);
            int month = calendar.get(Calendar.MONTH);
            int day = calendar.get(Calendar.DAY_OF_MONTH);
            int hours = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            wheelTime.setPicker(year, month, day, hours, minute);
        }
    
    //    /**
    //     * 指定选中的时间,显示选择器
    //     *
    //     * @param date
    //     */
    //    public void show(Date date) {
    //        Calendar calendar = Calendar.getInstance();
    //        if (date == null)
    //            calendar.setTimeInMillis(System.currentTimeMillis());
    //        else
    //            calendar.setTime(date);
    //        int year = calendar.get(Calendar.YEAR);
    //        int month = calendar.get(Calendar.MONTH);
    //        int day = calendar.get(Calendar.DAY_OF_MONTH);
    //        int hours = calendar.get(Calendar.HOUR_OF_DAY);
    //        int minute = calendar.get(Calendar.MINUTE);
    //        wheelTime.setPicker(year, month, day, hours, minute);
    //        show();
    //    }
    
        /**
         * 设置是否循环滚动
         * @param cyclic 是否循环
         */
        public void setCyclic(boolean cyclic) {
            wheelTime.setCyclic(cyclic);
        }
    
    }
    

    2、对应布局文件pickerview_time.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
    
        <LinearLayout
            android:id="@+id/timepicker"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white"
            android:orientation="horizontal">
    
            <com.koala.shop.mobile.teacher.widget.pickerview.lib.WheelView
                android:id="@+id/year"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" />
    
            <com.koala.shop.mobile.teacher.widget.pickerview.lib.WheelView
                android:id="@+id/month"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.1" />
    
            <com.koala.shop.mobile.teacher.widget.pickerview.lib.WheelView
                android:id="@+id/day"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.1" />
    
            <com.koala.shop.mobile.teacher.widget.pickerview.lib.WheelView
                android:id="@+id/hour"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.1" />
    
            <com.koala.shop.mobile.teacher.widget.pickerview.lib.WheelView
                android:id="@+id/min"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.1" />
        </LinearLayout>
    
    
    </LinearLayout>
    

    3、Wheeltime.java

    public class WheelTime {
        public static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        private View view;
        private WheelView wv_year;
        private WheelView wv_month;
        private WheelView wv_day;
        private WheelView wv_hours;
        private WheelView wv_mins;
    
        private int year_now,month_now,day_now;
    
    
        private TimePickerType.Type type;
        public static final int DEFULT_START_YEAR = 1990;
        public static final int DEFULT_END_YEAR = 2100;
        private int startYear = DEFULT_START_YEAR;
        private int endYear = DEFULT_END_YEAR;
    
    
        public WheelTime(View view) {
            super();
            this.view = view;
            type = TimePickerType.Type.ALL;
            setView(view);
        }
    
        public WheelTime(View view, TimePickerType.Type type) {
            super();
            this.view = view;
            this.type = type;
            setView(view);
        }
    
        public void setPicker(int year, int month, int day) {
            this.setPicker(year, month, day, 0, 0);
        }
    
        public void setPicker(int year, int month, int day, int h, int m) {
            // 添加大小月月份并将其转换为list,方便之后的判断
            String[] months_big = {"1", "3", "5", "7", "8", "10", "12"};
            String[] months_little = {"4", "6", "9", "11"};
    
            final List<String> list_big = Arrays.asList(months_big);
            final List<String> list_little = Arrays.asList(months_little);
    
            Context context = view.getContext();
            // 年
            wv_year = (WheelView) view.findViewById(R.id.year);
            wv_year.setAdapter(new NumericWheelAdapter(startYear, endYear));// 设置"年"的显示数据
            wv_year.setLabel(context.getString(R.string.pickerview_year));// 添加文字
            Log.d("WheelTime","-----------------year  "+(year - startYear));
            wv_year.setCurrentItem(year - startYear);// 初始化时显示的数据
    
            // 月
            wv_month = (WheelView) view.findViewById(R.id.month);
            wv_month.setAdapter(new NumericWheelAdapter(1, month_now));
            wv_month.setLabel(context.getString(R.string.pickerview_month));
            Log.d("WheelTime","-----------------month  "+month);
            wv_month.setCurrentItem(month);
    
            // 日
            wv_day = (WheelView) view.findViewById(R.id.day);
    //        // 判断大小月及是否闰年,用来确定"日"的数据
    //        if (list_big.contains(String.valueOf(month + 1))) {
    //            wv_day.setAdapter(new NumericWheelAdapter(1, 31));
    //        } else if (list_little.contains(String.valueOf(month + 1))) {
    //            wv_day.setAdapter(new NumericWheelAdapter(1, 30));
    //        } else {
    //            // 闰年
    //            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
    //                wv_day.setAdapter(new NumericWheelAdapter(1, 29));
    //            else
    //                wv_day.setAdapter(new NumericWheelAdapter(1, 28));
    //        }
            wv_day.setAdapter(new NumericWheelAdapter(1, day_now));
            wv_day.setLabel(context.getString(R.string.pickerview_day));
            Log.d("WheelTime","-----------------day  "+day);
            wv_day.setCurrentItem(day - 1);
    
    
            wv_hours = (WheelView) view.findViewById(R.id.hour);
            wv_hours.setAdapter(new NumericWheelAdapter(0, 23));
            wv_hours.setLabel(context.getString(R.string.pickerview_hours));// 添加文字
            wv_hours.setCurrentItem(h);
    
            wv_mins = (WheelView) view.findViewById(R.id.min);
            wv_mins.setAdapter(new NumericWheelAdapter(0, 59));
            wv_mins.setLabel(context.getString(R.string.pickerview_minutes));// 添加文字
            wv_mins.setCurrentItem(m);
    
            // 添加"年"监听
            OnItemSelectedListener wheelListener_year = new OnItemSelectedListener() {
                @Override
                public void onItemSelected(int index) {
                    int year_num = index + startYear;
                    // 判断大小月及是否闰年,用来确定"日"的数据
                    int maxItem = 30;
                    if (list_big
                            .contains(String.valueOf(wv_month.getCurrentItem() + 1))) {
                        wv_day.setAdapter(new NumericWheelAdapter(1, 31));
                        maxItem = 31;
                    } else if (list_little.contains(String.valueOf(wv_month
                            .getCurrentItem() + 1))) {
                        wv_day.setAdapter(new NumericWheelAdapter(1, 30));
                        maxItem = 30;
                    } else {
                        if ((year_num % 4 == 0 && year_num % 100 != 0)
                                || year_num % 400 == 0) {
                            wv_day.setAdapter(new NumericWheelAdapter(1, 29));
                            maxItem = 29;
                        } else {
                            wv_day.setAdapter(new NumericWheelAdapter(1, 28));
                            maxItem = 28;
                        }
                    }
                    if (wv_day.getCurrentItem() > maxItem - 1) {
                        wv_day.setCurrentItem(maxItem - 1);
                    }
                    if (year_num==year_now){
                        //今年最大的月份只能是当前月
                        wv_month.setAdapter(new NumericWheelAdapter(1, month_now));
    
                    }else {
                        wv_month.setAdapter(new NumericWheelAdapter(1, 12));
                    }
                }
            };
            // 添加"月"监听
            OnItemSelectedListener wheelListener_month = new OnItemSelectedListener() {
                @Override
                public void onItemSelected(int index) {
                    int month_num = index + 1;
                    int maxItem = 30;
                    // 判断大小月及是否闰年,用来确定"日"的数据
                    if (list_big.contains(String.valueOf(month_num))) {
                        wv_day.setAdapter(new NumericWheelAdapter(1, 31));
                        maxItem = 31;
                    } else if (list_little.contains(String.valueOf(month_num))) {
                        wv_day.setAdapter(new NumericWheelAdapter(1, 30));
                        maxItem = 30;
                    } else {
                        if (((wv_year.getCurrentItem() + startYear) % 4 == 0 && (wv_year
                                .getCurrentItem() + startYear) % 100 != 0)
                                || (wv_year.getCurrentItem() + startYear) % 400 == 0) {
                            wv_day.setAdapter(new NumericWheelAdapter(1, 29));
                            maxItem = 29;
                        } else {
                            wv_day.setAdapter(new NumericWheelAdapter(1, 28));
                            maxItem = 28;
                        }
                    }
                    if (wv_day.getCurrentItem() > maxItem - 1) {
                        wv_day.setCurrentItem(maxItem - 1);
                    }
                    if (month_num==month_now){
                        //今年最大的月份只能是当前月
                        wv_day.setAdapter(new NumericWheelAdapter(1, day_now));
                    }
                }
            };
            wv_year.setOnItemSelectedListener(wheelListener_year);
            wv_month.setOnItemSelectedListener(wheelListener_month);
    
            // 根据屏幕密度来指定选择器字体的大小(不同屏幕可能不同)
            int textSize = 6;
            switch (type) {
                case ALL:
                    textSize = textSize * 3;
                    break;
                case YEAR_MONTH_DAY:
                    textSize = textSize * 4;
                    wv_hours.setVisibility(View.GONE);
                    wv_mins.setVisibility(View.GONE);
                    break;
                case HOURS_MINS:
                    textSize = textSize * 4;
                    wv_year.setVisibility(View.GONE);
                    wv_month.setVisibility(View.GONE);
                    wv_day.setVisibility(View.GONE);
                    break;
                case MONTH_DAY_HOUR_MIN:
                    textSize = textSize * 3;
                    wv_year.setVisibility(View.GONE);
                    break;
                case YEAR_MONTH:
                    textSize = textSize * 4;
                    wv_day.setVisibility(View.GONE);
                    wv_hours.setVisibility(View.GONE);
                    wv_mins.setVisibility(View.GONE);
            }
            wv_day.setTextSize(textSize);
            wv_month.setTextSize(textSize);
            wv_year.setTextSize(textSize);
            wv_hours.setTextSize(textSize);
            wv_mins.setTextSize(textSize);
    
        }
    
        /**
         * 设置是否循环滚动
         *
         * @param cyclic
         */
        public void setCyclic(boolean cyclic) {
            wv_year.setCyclic(cyclic);
            wv_month.setCyclic(cyclic);
            wv_day.setCyclic(cyclic);
            wv_hours.setCyclic(cyclic);
            wv_mins.setCyclic(cyclic);
        }
    
        public String getTime() {
            StringBuffer sb = new StringBuffer();
    //        sb.append((wv_year.getCurrentItem() + startYear)).append("-")
    //                .append((wv_month.getCurrentItem() + 1)).append("-")
    //                .append((wv_day.getCurrentItem() + 1)).append(" ")
    //                .append(wv_hours.getCurrentItem()).append(":")
    //                .append(wv_mins.getCurrentItem());
            sb.append((wv_year.getCurrentItem() + startYear)).append("-")
                    .append((wv_month.getCurrentItem() + 1)).append("-")
                    .append((wv_day.getCurrentItem() + 1));
            return sb.toString();
        }
    
        public View getView() {
            return view;
        }
    
        public void setView(View view) {
            this.view = view;
            Calendar calendar = Calendar.getInstance();
            calendar.setTimeInMillis(System.currentTimeMillis());
            year_now= calendar.get(Calendar.YEAR);
            month_now = calendar.get(Calendar.MONTH)+1;
            day_now = calendar.get(Calendar.DAY_OF_MONTH);
            int hours = calendar.get(Calendar.HOUR_OF_DAY);
            int minute = calendar.get(Calendar.MINUTE);
            this.endYear=year_now;
        }
    
        public int getStartYear() {
            return startYear;
        }
    
        public void setStartYear(int startYear) {
            this.startYear = startYear;
        }
    
        public int getEndYear() {
            return endYear;
        }
    
        public void setEndYear(int endYear) {
            this.endYear = endYear;
        }
    }


    提取出来的枚举类:

    public class TimePickerType {
        public enum Type {
            ALL, YEAR_MONTH_DAY, HOURS_MINS, MONTH_DAY_HOUR_MIN , YEAR_MONTH
        }// 四种选择模式,年月日时分,年月日,时分,月日时分
    }





    效果图



    展开全文
  • android 日期选择控件 DatePicker

    千次阅读 2012-10-17 21:10:50
    android:layout_height="wrap_content" android:text="选择日期" />   2 Activity文件  import java.util.Calendar; import android.app.Activity; import android.app....

    1 布局文件                                                                                                                                                                        

    <?xml version="1.0" encoding="utf-8"?>
    
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    
        android:orientation="vertical" android:layout_width="fill_parent"
    
        android:layout_height="fill_parent">
    
        <TextView android:layout_width="fill_parent"
    
           android:layout_height="wrap_content" android:text="" />
    
        <LinearLayout android:orientation="horizontal"
    
           android:layout_width="fill_parent" android:layout_height="wrap_content">
    
           <EditText android:id="@+id/showDate" android:layout_width="200dip"
    
               android:layout_height="wrap_content" />
    
           <Button android:id="@+id/but_showDate" android:layout_width="100dip"
    
               android:layout_height="wrap_content" android:text="选择日期" />
    
        </LinearLayout>
    
     
    
    </LinearLayout>


     

    2 Activity文件                                                                                                                                                                     

     
    
    import java.util.Calendar;
    
     
    
    import android.app.Activity;
    
    import android.app.DatePickerDialog;
    
    import android.app.Dialog;
    
    import android.os.Bundle;
    
    import android.os.Handler;
    
    import android.os.Message;
    
    import android.view.View;
    
    import android.widget.Button;
    
    import android.widget.DatePicker;
    
    import android.widget.EditText;
    
     
    
    public class MainActivity extends Activity {
    
        private EditText showDate = null;
    
        private Button pickDate = null;
    
        private static final int DATE_DIALOG_ID = 1;
    
        private static final int SHOW_DATAPICK = 0;
    
        private int mYear;
    
        private int mMonth;
    
        private int mDay;
    
     
    
        /** Called when the activity is first created. */
    
        @Override
    
        public void onCreate(Bundle savedInstanceState) {
    
           super.onCreate(savedInstanceState);
    
           setContentView(R.layout.main);
    
           showDate = (EditText) findViewById(R.id.showDate);
    
           pickDate = (Button) findViewById(R.id.but_showDate);
    
           pickDate.setOnClickListener(new DateButtonOnClickListener());
    
           final Calendar c = Calendar.getInstance();
    
           mYear = c.get(Calendar.YEAR);
    
           mMonth = c.get(Calendar.MONTH);
    
           mDay = c.get(Calendar.DAY_OF_MONTH);
    
           setDateTime();
    
        }
    
     
    
        private void setDateTime() {
    
           final Calendar c = Calendar.getInstance();
    
           mYear = c.get(Calendar.YEAR);
    
           mMonth = c.get(Calendar.MONTH);
    
           mDay = c.get(Calendar.DAY_OF_MONTH);
    
     
    
           updateDisplay();
    
        }
    
     
    
        /**
    
         * 更新日期
    
         */
    
        private void updateDisplay() {
    
           showDate.setText(new StringBuilder().append(mYear).append(
    
                  (mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append(
    
                  (mDay < 10) ? "0" + mDay : mDay));
    
        }
    
     
    
        /**
    
         * 日期控件的事件
    
         */
    
        private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
    
           public void onDateSet(DatePicker view, int year, int monthOfYear,
    
                  int dayOfMonth) {
    
               mYear = year;
    
               mMonth = monthOfYear;
    
               mDay = dayOfMonth;
    
               updateDisplay();
    
           }
    
        };
    
     
    
        /**
    
         * 选择日期Button的事件处理
    
         *
    
         * @author Raul
    
         *
    
         */
    
        class DateButtonOnClickListener implements
    
               android.view.View.OnClickListener {
    
           @Override
    
           public void onClick(View v) {
    
               Message msg = new Message();
    
               if (pickDate.equals((Button) v)) {
    
                  msg.what = MainActivity.SHOW_DATAPICK;
    
               }
    
               MainActivity.this.saleHandler.sendMessage(msg);
    
           }
    
        }
    
     
    
        @Override
    
        protected Dialog onCreateDialog(int id) {
    
           switch (id) {
    
           case DATE_DIALOG_ID:
    
               return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
    
                      mDay);
    
           }
    
           return null;
    
        }
    
     
    
        @Override
    
        protected void onPrepareDialog(int id, Dialog dialog) {
    
           switch (id) {
    
           case DATE_DIALOG_ID:
    
               ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);
    
               break;
    
           }
    
        }
    
     
    
        /**
    
         * 处理日期控件的Handler
    
         */
    
        Handler saleHandler = new Handler() {
    
           @Override
    
           public void handleMessage(Message msg) {
    
               switch (msg.what) {
    
               case MainActivity.SHOW_DATAPICK:
    
                  showDialog(DATE_DIALOG_ID);
    
                  break;
    
               }
    
           }
    
        };
    
    }


     

     

    展开全文
  • mDateSetListener监听用户选择 // mYear, mMonth, mDay当前日期 new DatePickerDialog(SettingsEditUserInfo. this , mDateSetListener, mYear, mMonth, mDay).show(); } }); 二、使用showDialog显示 ...
  • Android日期选择控件效果如下: 调用的代码: @OnClick(R.id.btn0) public void btn0() { final AlertDialog dialog = new AlertDialog.Builder(context).create(); dialog.show(); Window window = dialog....
  • android时间日期选择控件,可以日期时间一起选
  • android 日期区间选择控件 年月区间选择
  • Android例子源码漂亮的自定义日期选择控件DatePickerDialog
  • android 日期 时间 选择控件 可运行 SHOW_DATAPICK SHOW_TIMEPICK
  • Javascript模仿Android手机日期选择控件

    热门讨论 2014-12-16 10:12:59
    Javascript模仿Android手机日期选择控件,主要在手机浏览器使用。
  • android好看的日期选择控件
  • android的DatePicker与TimePicker都受android系统版本的影响,展示风格非常不统一,而且不能同时选择日期与时间。这个控件就能做到。
  • android时间日期选择控件,在wheelView的基础上编写,已经被我封装成一个view,能够在alertDialog,popuwindow上使用,解决部分型号手机无法滑动的情况
  • android时间日期选择控件,在wheelView的基础上编写,已经被我封装成一个view,能够在alertDialog,popuwindow上使用,解决部分型号手机无法滑动的情况。详情可以看我的博客:...
  • 非常漂亮的日期选择控件源码可下载直接使用
  • 一个适用于 Android日期选择控件运行截图DateTypeTYPE_ALL--年、月、日、星期、时、分TYPE_YMDHM--年、月、日、时、分TYPE_YMDH--年、月、日、时TYPE_YMD--年、月、日TYPE_HM--时、分 标签:PickTime
  • Android强大的日期时间选择控件

    热门讨论 2012-03-22 12:22:38
    Android强大的日期时间选择控件 安卓 android 日期时间 控件 datepicker

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 697
精华内容 278
关键字:

android日期选择控件