项目开发中 如果你需要一个年月日时分秒类型时间选择器 用DataPicker和TimePicker联动去实现得话 会非常得不方便 会碰到布局不协调得问题 灵活性很低 可实现的布局也就两种 所以为了更好的效果 个人建议你使用 numberPicker 数字选择器 去实现 本人思路是 numberpicker结合PopupWindow 去实现 简单实现代码奉上 欢迎各位大神指正
第一步 popupwindow 的布局效果(底部有图)及xml文件
可根据自己得需要布局 底部效果图 是本案样例
第二步 自定义PopupWindow java 代码
public SPopupWindow(Context context, View.OnClickListener clickListener){
// 填充试图 实例化空间
this.view = LayoutInflater.from(context).inflate(R.layout.popupwindow,null);
day = (NumberPicker) view.findViewById(R.id.day);
hour = (NumberPicker) view.findViewById(R.id.hour);
minte = (NumberPicker) view.findViewById(R.id.minte);
time = (NumberPicker) view.findViewById(R.id.time);
quxiao = (Button) view.findViewById(R.id.quxiao);
year = (NumberPicker) view.findViewById(R.id.year);
month = (NumberPicker) view.findViewById(R.id.month);
// 按钮点击事件
this.setOutsideTouchable(true);
quxiao.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
queren = (Button) view.findViewById(R.id.queren);
queren.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int yearValue = year.getValue();
int monthValue = month.getValue();
int dayValue = day.getValue();
int timeValue = time.getValue();
int hourValue = hour.getValue();
int minteValue = minte.getValue();
Strin