600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > android 自定义时间对话框 android自定义日期和时间选择对话框得实现

android 自定义时间对话框 android自定义日期和时间选择对话框得实现

时间:2019-03-12 06:33:40

相关推荐

android 自定义时间对话框 android自定义日期和时间选择对话框得实现

1,先写布局文件,把时间选择器和日期选择器都放到一起去

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/write"

android:orientation="vertical">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:orientation="vertical">

android:id="@+id/time_data"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="15dp"/>

android:id="@+id/time_time"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="15dp"/>

2,写一个自定义控件实体类

/**

*@author作者dpc

*@date创建时间:12月26日下11:41:50

*@parameter

*@since

*@return

*/

publicclassShowTime{

Stringdata,time="";

publicShowTime(Contextc,finalShowTimeIns){

Viewview=LayoutInflater.from(c).inflate(R.layout.timescheh,null);

finalDatePickerda=(DatePicker)view.findViewById(R.id.time_data);

Calendarcalendar=Calendar.getInstance();

intyear=calendar.get(Calendar.YEAR);

intmonthOfYear=calendar.get(Calendar.MONTH);

intdayOfMonth=calendar.get(Calendar.DAY_OF_MONTH);

data=newSimpleDateFormat("yyyy-MM-dd").format(newDate());

da.init(year,monthOfYear,dayOfMonth,newOnDateChangedListener(){

publicvoidonDateChanged(DatePickerview,intyear,

intmonthOfYear,intdayOfMonth){

//dateEt.setText("您选择的日期是:"+year+"年"+(monthOfYear+1)+"月"+dayOfMonth+"日。");

data="";

data+=year;

data+="-";

if((monthOfYear+1)

data+="0";

data+=(monthOfYear+1);

}else{

data+=(monthOfYear+1);

}

data+="-";

if(dayOfMonth

data+="0";

data+=dayOfMonth;

}else{

data+=dayOfMonth;

}

}

});

finalTimePickerti=(TimePicker)view.findViewById(R.id.time_time);

inthour=calendar.get(Calendar.HOUR_OF_DAY);

intm=calendar.get(Calendar.MINUTE);

finalintss=calendar.get(Calendar.SECOND);

ti.setCurrentHour(hour);

//ti.setIs24HourView(true);

if(hour

time+="0";

time+=hour;

}else{

time+=hour;

}

time+=":";

if(m

time+="0";

time+=m;

}else{

time+=m;

}

time+=":";

if(ss

time+="0";

time+=ss;

}else{

time+=ss;

}

ti.setOnTimeChangedListener(newOnTimeChangedListener(){

publicvoidonTimeChanged(TimePickerview,inthourOfDay,intminute){

//TODOAuto-generatedmethodstub

time="";

if(hourOfDay

time+="0";

time+=hourOfDay;

}else{

time+=hourOfDay;

}

time+=":";

if(minute

time+="0";

time+=minute;

}else{

time+=minute;

}

time+=":";

if(ss

time+="0";

time+=ss;

}else{

time+=ss;

}

}

});

Dialogdialog=newAlertDialog.Builder(c)

//.setIcon(android.R.drawable.ic_menu_week)

//注入自己的布局文件

.setView(view)

.setPositiveButton("确定",newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

//TODOAuto-generatedmethodstub

s.GetData(data,time);

dialog.dismiss();

}

})

.setNegativeButton("取消",newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intwhich){

//TODOAuto-generatedmethodstub

dialog.dismiss();

}

})

.create();

dialog.show();

}

//这里写了一个回调函数的接口

publicinterfaceShowTimeIn{

voidGetData(Stringdata,Stringtime);

}

}

3,此控件的用法获取选择的时间和日期。

//设置时间日期

jckssj.setOnClickListener(newOnClickListener(){

@Override

publicvoidonClick(Viewv){

newShowTime(

mainactivity.this,

newcom.gaosheng.spyx.Fpmsmsmobile.one.ShowTime.ShowTimeIn(){

@Override

publicvoidGetData(Stringdata,Stringtime){

//TODOAuto-generatedmethodstub

jckssj.setText(data+""+time);

sjStr=data+""+time;

}

});

}

});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。