日历选择器(DatePicker)

  • 实现功能:
    选择今天之后的日期,并展示年、月、日。
  • 效果图


    1728460-583a85de3011b5ba.png

实现步骤:

1、首先我们要导入LoopViewButterKnife第三方框架。

//滚轮
implementation 'com.weigan:loopView:0.1.2'
//ButterKnife
compile 'com.jakewharton:butterknife:8.5.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'

2、在xml实现页面布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/cFFFFFF"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/d44"
        android:layout_marginTop="@dimen/d8">
        <TextView
            android:id="@+id/tvCancel"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="@dimen/d10"
            android:paddingLeft="@dimen/d5"
            android:paddingRight="@dimen/d15"
            android:background="@drawable/login_ripper"
            android:gravity="center"
            android:text="@string/text_cancle"
            android:textColor="@color/cBBBBBB"
            android:textSize="@dimen/f17" />

        <TextView
            android:id="@+id/tvFinish"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_alignParentRight="true"
            android:layout_marginRight="@dimen/d10"
            android:paddingLeft="@dimen/d15"
            android:paddingRight="@dimen/d5"
            android:background="@drawable/login_ripper"
            android:gravity="center"
            android:text="@string/text_complete"
            android:textColor="@color/c4A90E2"
            android:textSize="@dimen/f17" />
    </RelativeLayout>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/d177"
        android:layout_marginBottom="@dimen/d20"
        android:layout_marginTop="@dimen/d20">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FFFFFF"
            android:orientation="horizontal"
            android:paddingBottom="5dip"
            android:paddingTop="5dip">

            <View
                android:layout_width="@dimen/d20"
                android:layout_height="match_parent" />

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1">

                <com.weigan.loopview.LoopView
                    android:id="@+id/loopViewYear"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"

                    app:awv_isLoop="false"
                    app:awv_centerTextColor="@color/c000000"
                    app:awv_outerTextColor="@color/c999999"
                    app:awv_textsize="22" />


                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="40dip"
                    android:text="年"
                    android:textColor="@color/c000000"
                    android:textSize="@dimen/f22" />
            </FrameLayout>


            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1">
                <com.weigan.loopview.LoopView
                    android:id="@+id/loopViewMonth"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"

                    app:awv_isLoop="false"
                    app:awv_centerTextColor="@color/c000000"
                    app:awv_outerTextColor="@color/c999999"
                    app:awv_textsize="22" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:layout_marginLeft="40dip"
                    android:text="月"
                    android:textColor="@color/c000000"
                    android:textSize="@dimen/f22" />
            </FrameLayout>



            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1">

                <com.weigan.loopview.LoopView
                    android:id="@+id/loopViewDay"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"

                    app:awv_isLoop="false"
                    app:awv_centerTextColor="@color/c000000"
                    app:awv_outerTextColor="@color/c999999"
                    app:awv_textsize="22" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical|right"
                    android:layout_marginRight="15dip"
                    android:textColor="@color/c000000"
                    android:textSize="@dimen/f22"
                    android:text="日" />
            </FrameLayout>

            <View
                android:layout_width="@dimen/d20"
                android:layout_height="match_parent" />
        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/d1"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="@dimen/d16"
            android:background="@color/c40CDCDCD" />

        <View
            android:layout_width="match_parent"
            android:layout_height="@dimen/d1"
            android:layout_gravity="center_vertical"
            android:layout_marginTop="@dimen/d16"
            android:background="@color/c40CDCDCD" />

    </FrameLayout>

</LinearLayout>

3、代码分析

  • 设置当前年份对应的月份里的天数,其中我们要考虑瑞年和平年,以及那个月份。代码如下:
 private void setCourentDayAndMonthAndYear() {
        if (NOW_MONTH == 1 || NOW_MONTH == 3 || NOW_MONTH == 5 || NOW_MONTH == 7 || NOW_MONTH == 8 ||
                NOW_MONTH == 10 || NOW_MONTH == 12) {
            if (NOW_DAY > 31) {
                NOW_MONTH += 1;
                NOW_DAY = 1;
                if (NOW_MONTH > 12) {
                    NOW_YEAR += 1;
                    NOW_MONTH = 1;
                }
            }
        } else if (NOW_MONTH == 4 || NOW_MONTH == 6 || NOW_MONTH == 9 || NOW_MONTH == 11) {
            if (NOW_DAY > 30) {
                NOW_MONTH += 1;
                NOW_DAY = 1;
            }
        } else if (NOW_MONTH == 2) {
            if ((NOW_YEAR % 100 == 0) && (NOW_YEAR % 400 == 0) || (NOW_YEAR % 100 != 0) && (NOW_YEAR % 4 == 0)) {
                if (NOW_DAY > 29) {
                    NOW_MONTH += 1;
                    NOW_DAY = 1;
                }

            } else {
                if (NOW_DAY > 28) {
                    NOW_MONTH += 1;
                    NOW_DAY = 1;
                }
            }
        }
    }
  • 设置选中月份对应的天数
    private void setDay(int index, boolean select) {
        if (index == 0 || index == 2 || index == 4 || index == 6 || index == 7 || index == 9 || index == 11) {
            mListDay.clear();
            for (int i = 1; i < 32; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 31;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }
            loopViewDay.setCurrentPosition(0);
        } else if (index == 3 || index == 5 || index == 8 || index == 10) {
            mListDay.clear();
            for (int i = 1; i < 31; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 30;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }
            loopViewDay.setCurrentPosition(0);
        } else if (index == 1) {
            mListDay.clear();
            for (int i = 1; i < 29; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 28;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }

            if (startyear == 1) {
                mListDay.clear();
                for (int i = 1; i < 30; i++) {
                    mListDay.add(getTwoPositiveInteger(i));
                }
                day = 29;
                if (select) {
                    loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
                } else {
                    loopViewDay.setItems(mListDay);
                }

            } else {
                mListDay.clear();
                for (int i = 1; i < 29; i++) {
                    mListDay.add(getTwoPositiveInteger(i));
                }
                day = 28;
                if (select) {
                    loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
                } else {
                    loopViewDay.setItems(mListDay);
                }

            }
            loopViewDay.setCurrentPosition(0);
        }
    }

4、具体实现代码:

public class CounterLmeDateDialog extends Dialog {
    @BindView(R.id.tvCancel)
    TextView tvCancel;
    @BindView(R.id.tvFinish)
    TextView tvFinish;
    @BindView(R.id.loopViewDay)
    LoopView loopViewDay;
    @BindView(R.id.loopViewMonth)
    LoopView loopViewMonth;
    @BindView(R.id.loopViewYear)
    LoopView loopViewYear;

    //接口相关
    private OnDialogClickListener mOnDialogClickListener;// 控件点击接口

    private int YEAR_CONT = 10;//年的数量
    private int NOW_YEAR; //当前Year
    private int NOW_MONTH = 0;//当前月份
    private int NOW_DAY = 0;//当前天数

    private int mSelectYear;
    private int mSelectMonth;
    private int mSelectDay;

    private List<String> mListYear = new ArrayList<>();//开始年份数组
    private List<String> mListMonth = new ArrayList<>();//开始月份数组
    private List<String> mListDay = new ArrayList<>();//开始日期数组

    private String mStartTime = "";//开始时间
    private int startyear;
    private int day;
    private Long currentDate; //当前时间
    private String dateIndex[];
    private int mYearIndex = 0;
    private int mMonthIndex = 0;
    private int mDayIndex = 0;

    public CounterLmeDateDialog(@NonNull Context context) {
        super(context);
    }

    public CounterLmeDateDialog(@NonNull Context context, int themeResId, Long date) {
        super(context, themeResId);
        this.currentDate = date;
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        View view = View.inflate(getContext(), R.layout.dialog_counter_lme_date, null);
        setContentView(view);
        KnifeKit.bind(this, view);

        /**
         * 整理时间数据
         */
        Calendar c = Calendar.getInstance();
        int year = c.get(Calendar.YEAR);
        NOW_YEAR = year;
        NOW_MONTH = c.get(Calendar.MONTH) + 1;
        NOW_DAY = c.get(Calendar.DAY_OF_MONTH) + 1;

        setCourentDayAndMonthAndYear();

        for (int i = 0; i < YEAR_CONT; i++) {
            mListYear.add((year + i) + "");
        }
        for (int i = 1; i < 13; i++) {
            mListMonth.add(getTwoPositiveInteger(i));
        }
        for (int i = 1; i < 32; i++) {
            mListDay.add(getTwoPositiveInteger(i));
        }
        loopViewDay.setDividerColor(getContext().getResources().getColor(R.color.c00000000));
        loopViewMonth.setDividerColor(getContext().getResources().getColor(R.color.c00000000));
        loopViewYear.setDividerColor(getContext().getResources().getColor(R.color.c00000000));


        String callBackData = stampToDate(currentDate);
        dateIndex = callBackData.split("-");

        //设置齿轮时间
        loopViewYear.setItems(mListYear);
        if ((NOW_YEAR + "").equals(dateIndex[0])) {
            loopViewMonth.setItems(mListMonth.subList(NOW_MONTH - 1, mListMonth.size()));

            if (NOW_MONTH == Integer.valueOf(dateIndex[1])) {
                setDay(NOW_MONTH - 1, true);
            } else {
                setDay(NOW_MONTH - 1, false);
            }

        } else {
            loopViewMonth.setItems(mListMonth);
            setDay(NOW_MONTH - 1, false);
        }

        //把时间转成时间戳
        Log.i("---> : ", DateUtil.getStringDateByLong(currentDate, 4));
        if (currentDate != 0) {
            if ((NOW_YEAR + "").equals(mListYear.get(0))) {


                for (int i = 0; i < mListYear.size(); i++) {
                    if (dateIndex[0].equals(mListYear.get(i))) {
                        mSelectYear = Integer.valueOf(dateIndex[0]);
                        loopViewYear.setCurrentPosition(i);
                    }
                }
                String month = dateIndex[1];
                int countMonth = Integer.parseInt(month);
                if (dateIndex[0].equals(NOW_YEAR+ "")) {
                    List<String> monthLists = mListMonth.subList(NOW_MONTH - 1, mListMonth.size());
                    for (int i =0; i < monthLists.size(); i++){
                        if (monthLists.get(i).equals(month)) {
                            loopViewMonth.setCurrentPosition(i);
                            mSelectMonth = Integer.parseInt(monthLists.get(i));
                            break;
                        }
                    }

                } else {
                    loopViewMonth.setCurrentPosition(countMonth - 1);
                    mSelectMonth = countMonth;
                }

                String day = dateIndex[2];
                int countDay = Integer.parseInt(day);
                if (countMonth == NOW_MONTH) {
                    List<String> dayLists = mListDay.subList(NOW_DAY - 1, mListDay.size());
                    for (int i = 0; i < dayLists.size(); i ++){
                        if (dayLists.get(i).equals(day)){
                            loopViewDay.setCurrentPosition(i);
                            mSelectDay = Integer.parseInt(dayLists.get(i));
                            break;
                        }
                    }

                } else {
                    loopViewDay.setCurrentPosition((countDay - 1));
                    mSelectDay = countDay;
                }
                mStartTime = mSelectYear + "-" + mSelectMonth + "-" + mSelectDay;

            } else {

                for (int i = 0; i < mListYear.size(); i++) {
                    if (dateIndex[0].equals(mListYear.get(i))) {
                        mSelectYear = Integer.valueOf(dateIndex[0]);
                        loopViewYear.setCurrentPosition(i);
                    }
                }
                String month = dateIndex[1];
                int countMonth = Integer.parseInt(month);
                mSelectMonth = countMonth;
                loopViewMonth.setCurrentPosition((countMonth - 1));

                String day = dateIndex[2];
                int countDay = Integer.parseInt(day);
                mSelectDay = countDay;
                loopViewDay.setCurrentPosition((countDay - 1));
                mStartTime = mSelectYear + "-" + mSelectMonth + "-" + mSelectDay;

            }

        } else {
            loopViewDay.setCurrentPosition(0);
            loopViewMonth.setCurrentPosition(0);
            loopViewYear.setCurrentPosition(0);
        }
        initlistener();

    }

    //設置當前天數傢一
    private void setCourentDayAndMonthAndYear() {
        if (NOW_MONTH == 1 || NOW_MONTH == 3 || NOW_MONTH == 5 || NOW_MONTH == 7 || NOW_MONTH == 8 ||
                NOW_MONTH == 10 || NOW_MONTH == 12) {
            if (NOW_DAY > 31) {
                NOW_MONTH += 1;
                NOW_DAY = 1;
                if (NOW_MONTH > 12) {
                    NOW_YEAR += 1;
                    NOW_MONTH = 1;
                }
            }
        } else if (NOW_MONTH == 4 || NOW_MONTH == 6 || NOW_MONTH == 9 || NOW_MONTH == 11) {
            if (NOW_DAY > 30) {
                NOW_MONTH += 1;
                NOW_DAY = 1;
            }
        } else if (NOW_MONTH == 2) {
            if ((NOW_YEAR % 100 == 0) && (NOW_YEAR % 400 == 0) || (NOW_YEAR % 100 != 0) && (NOW_YEAR % 4 == 0)) {
                if (NOW_DAY > 29) {
                    NOW_MONTH += 1;
                    NOW_DAY = 1;
                }

            } else {
                if (NOW_DAY > 28) {
                    NOW_MONTH += 1;
                    NOW_DAY = 1;
                }
            }
        }
    }


    private void initlistener() {
        //开始年份监听
        loopViewYear.setListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(int index) {
                try {
                    int yearstart = Integer.parseInt(mListYear.get(index));
                    mSelectYear = yearstart;
                    if (mSelectYear == NOW_YEAR) {
                        loopViewMonth.setItems(mListMonth.subList(NOW_MONTH - 1, mListMonth.size()));
                        loopViewDay.setCurrentPosition(0);
                        loopViewMonth.setCurrentPosition(0);

                        if (mSelectMonth == NOW_MONTH) {
                            setDay(mMonthIndex, true);
                        } else {
                            setYear(yearstart, index);
                        }
                    } else {
                        loopViewMonth.setItems(mListMonth);
                        loopViewDay.setCurrentPosition(0);
                        loopViewMonth.setCurrentPosition(0);
                        setYear(yearstart, index);
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        //开始月份监听
        loopViewMonth.setListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(int index) {
                mMonthIndex = index;
                try {
                    if (mSelectYear == NOW_YEAR) {
                        mSelectMonth = Integer.parseInt(mListMonth.subList(NOW_MONTH - 1, mListMonth.size()).get(index));
                        loopViewDay.setCurrentPosition(0);
                        if (mSelectMonth == NOW_MONTH) {
                            setDay(index, true);
                        } else {
                            setDay(index, false);
                        }

                    } else {
                        mSelectMonth = Integer.parseInt(mListDay.get(index));
                        loopViewDay.setCurrentPosition(0);
                        setDay(index, false);
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });

        //开始日期监听
        loopViewDay.setListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(int index) {

            }
        });

    }

    private void setYear(int yearstart, int index) {
        loopViewMonth.setCurrentPosition(0);
        if (mSelectYear == NOW_YEAR) {
            loopViewMonth.setItems(mListMonth.subList(NOW_MONTH - 1, mListMonth.size()));
            if ((yearstart % 100 == 0) && (yearstart % 400 == 0) || (yearstart % 100 != 0) && (yearstart % 4 == 0)) {
                startyear = 1;
                if (mSelectMonth == NOW_MONTH) {
                    setDay(mMonthIndex, true);
                } else {
                    setDay(mMonthIndex, false);
                }
            } else {
                startyear = 0;
                if (mSelectMonth == NOW_MONTH) {
                    setDay(mMonthIndex, true);
                } else {
                    setDay(mMonthIndex, false);
                }
            }
        } else {
            loopViewMonth.setItems(mListMonth);
            if ((yearstart % 100 == 0) && (yearstart % 400 == 0) || (yearstart % 100 != 0) && (yearstart % 4 == 0)) {
                startyear = 1;
                setDay(mMonthIndex, false);

            } else {
                startyear = 0;
                setDay(mMonthIndex, false);

            }
        }

    }

    private void setDay(int index, boolean select) {
        if (index == 0 || index == 2 || index == 4 || index == 6 || index == 7 || index == 9 || index == 11) {
            mListDay.clear();
            for (int i = 1; i < 32; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 31;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }
            loopViewDay.setCurrentPosition(0);
        } else if (index == 3 || index == 5 || index == 8 || index == 10) {
            mListDay.clear();
            for (int i = 1; i < 31; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 30;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }
            loopViewDay.setCurrentPosition(0);
        } else if (index == 1) {
            mListDay.clear();
            for (int i = 1; i < 29; i++) {
                mListDay.add(getTwoPositiveInteger(i));
            }
            day = 28;
            if (select) {
                loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
            } else {
                loopViewDay.setItems(mListDay);
            }

            if (startyear == 1) {
                mListDay.clear();
                for (int i = 1; i < 30; i++) {
                    mListDay.add(getTwoPositiveInteger(i));
                }
                day = 29;
                if (select) {
                    loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
                } else {
                    loopViewDay.setItems(mListDay);
                }

            } else {
                mListDay.clear();
                for (int i = 1; i < 29; i++) {
                    mListDay.add(getTwoPositiveInteger(i));
                }
                day = 28;
                if (select) {
                    loopViewDay.setItems(mListDay.subList(NOW_DAY - 1, mListDay.size()));
                } else {
                    loopViewDay.setItems(mListDay);
                }

            }
            loopViewDay.setCurrentPosition(0);
        }
    }

    @Override
    public void onDetachedFromWindow() {
        if (isShowing())
            dismiss();
        super.onDetachedFromWindow();
    }

    @Override
    public void show() {
        super.show();
        WindowManager m = getWindow().getWindowManager();
        Display d = m.getDefaultDisplay();
        WindowManager.LayoutParams p = getWindow().getAttributes();
        p.width = d.getWidth(); //设置dialog的宽度为当前手机屏幕的宽度
        getWindow().setAttributes(p);

    }

    @OnClick({R.id.tvCancel, R.id.tvFinish})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.tvCancel:
                dismiss();
                break;
            case R.id.tvFinish:
                if (mOnDialogClickListener != null) {
                    dismiss();
                    try {
                        String year = mListYear.get(loopViewYear.getSelectedItem());
                        String month;
                        String day;
                        if (Integer.valueOf(year) == NOW_YEAR) {
                            month = mListMonth.subList(NOW_MONTH - 1, mListMonth.size()).get(loopViewMonth.getSelectedItem());
                        } else {
                            month = mListMonth.get(loopViewMonth.getSelectedItem());
                        }

                        if (Integer.valueOf(year) == NOW_YEAR && Integer.valueOf(month) == NOW_MONTH) {
                            day = mListDay.subList(NOW_DAY - 1, mListDay.size()).get(loopViewDay.getSelectedItem());
                        } else {
                            day = mListDay.get(loopViewDay.getSelectedItem());
                        }
                        mOnDialogClickListener.dialogClick(this, view, dateToStamp(year + "-" + month + "-" + day));
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }

                }
                break;
        }
    }

    public void setOnDialogClickListener(OnDialogClickListener l) {
        this.mOnDialogClickListener = l;
    }

    /**
     * 控件点击事件接口
     */
    public interface OnDialogClickListener {
        public void dialogClick(Dialog dialog, View v, long date);

    }

    /*
     * 将时间戳转换为时间
     */
    public String stampToDate(long l) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        return simpleDateFormat.format(l);
    }

    /*
     * 将时间转换为时间戳
     */
    public long dateToStamp(String s) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = simpleDateFormat.parse(s);
        return date.getTime();
    }

    public String getDateChina() {
        String year = mStartTime.split("-")[0];
        String mon = mStartTime.split("-")[1];
        String day = mStartTime.split("-")[2];
        int chinaMonth = 0;
        String monthValue = "";
        for (int i = 0; i < mListMonth.size(); i++) {
            if (mon.equals(mListMonth.get(i))) {
                chinaMonth = i;
            }
        }
        if (chinaMonth < 9) {
            monthValue = "0" + (chinaMonth + 1);
        } else {
            monthValue = "" + (chinaMonth + 1);
        }
        return year + "-" + monthValue + "-" + day;
    }

    private String getTwoPositiveInteger(int a) {
        DecimalFormat format = new DecimalFormat("00");
        return format.format(a);
    }


}

5、调用此dialog对话框:

 private void initDateDialog() {
        Long date;
        if (ValueUtil.isStrNotEmpty(tvDate.getText().toString())) {
            date = DateUtil.dateToStamp(tvDate.getText().toString(), 2);
        } else {
            date = System.currentTimeMillis();
        }
        mCounterLmeDateDialog = new CounterLmeDateDialog(getContext(), R.style.Theme_dialog, date);
        mCounterLmeDateDialog.setCancelable(true);
        mCounterLmeDateDialog.getWindow().setWindowAnimations(R.style.dialogWindowAnim);
        mCounterLmeDateDialog.getWindow().setGravity(Gravity.BOTTOM);
        mCounterLmeDateDialog.setOnDialogClickListener(new CounterLmeDateDialog.OnDialogClickListener() {

            @Override
            public void dialogClick(Dialog dialog, View v, long date) {
                mSelectData = date;
                tvDate.setText(DateUtil.getStringDateByLong(date, 2));
            }
        });

    }

猜你喜欢

转载自blog.csdn.net/weixin_34168700/article/details/87505018
今日推荐