首先,我们来看下这个时间选择器大概的样子
我们来仔细观察下这个布局,在选择日期的时候,我们可以看做是可以上下滑动的三个listview的横向组合,listview的内容则是年份,月份和日期。
然后这个选择器中可见的是3个item,中间显示的才是我们要选定的日期。
来看下功能,比如说现在我们要选择年份,当我们停止滑动年份的这个选择器的时候,选择器会停下来并且会把我们所想选择的年份居中显示。
好了,现在我们来开始写这个选择器的布局吧。
这个是我们的首页
接下来就是我们的日期选择器的界面啦!
我们可以看到这个时间选择器上的listview的可见的item是有三个,那么这样如何实现呢,我们可以把listview的高度设成固定值,其item的高度就设置成listview高度的1/3,就可以啦!不多说,上代码:
好啦,布局我们有了可以上代码了
首先是我们的日期选择器的代码,具体我在这不多说了,代码里有很详细的注解
package com.example.peiwc.myapplicationtime;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
public class CustomDialog extends Dialog {
public CustomDialog(Context context, int theme) {
super(context, theme);
}
public static class Builder {
private int year;
private int month;
private int day;
int y;
private Context context;
private DialogInterface.OnClickListener positiveButtonClickListener;
private DialogInterface.OnClickListener negativeButtonClickListener;
private ArrayList
year_list, mouth_list, day_list;
ListView lv1, lv2, lv3;
public Builder(Context context) {
this.context = context;
}
public Builder setPositiveButton(DialogInterface.On