android时间选择控件之TimePickerView使用方法详解_第1页
android时间选择控件之TimePickerView使用方法详解_第2页
android时间选择控件之TimePickerView使用方法详解_第3页
android时间选择控件之TimePickerView使用方法详解_第4页
android时间选择控件之TimePickerView使用方法详解_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第android时间选择控件之TimePickerView使用方法详解android:layout_marginLeft="31dp"

android:background="@drawable/style_history_time"

android:gravity="center"

android:hint="请选择开始日期"

android:textSize="40sp"

app:layout_constraintBottom_toBottomOf="@id/tv_history_default"

app:layout_constraintLeft_toRightOf="@id/tv_history_default"

app:layout_constraintTop_toTopOf="@id/tv_history_default"/

TextView

android:id="@+id/tv_default_zhi"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="54dp"

android:text="至"

android:textColor="@color/white"

android:textSize="36sp"

app:layout_constraintLeft_toRightOf="@id/tv_date_start"

app:layout_constraintTop_toTopOf="@id/tv_history_default"/

TextView

android:id="@+id/tv_date_end"

android:layout_width="300dp"

android:layout_height="72dp"

android:layout_marginLeft="54dp"

android:background="@drawable/style_history_time"

android:gravity="center"

android:hint="请选择结束日期"

android:textSize="40sp"

app:layout_constraintLeft_toRightOf="@id/tv_default_zhi"

app:layout_constraintTop_toTopOf="@id/tv_date_start"/

/androidx.constraintlayout.widget.ConstraintLayout

画出来就这么一个效果,其实还挺容易的,这是默认的样子

二、界面画完接下来就去实现了,我是在fragment中添加的,这个看你自己是在什么地方使用,只是改变上下文而已。

publicclassTimerFragmentextendsFragmentimplementsView.OnClickListener{

privateTimePickerViewpvTime;//TimePickerView时间选择器

privateStringstartTime;

privateStringendTime;

privateTextViewtvDateStart,tvDateEnd;

@Override

publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){

Viewview=inflater.inflate(R.layout.fragment_timer,container,false);

tvDateStart=view.findViewById(R.id.tv_date_start);

tvDateEnd=view.findViewById(R.id.tv_date_end);

tvDateStart.setOnClickListener(this);

tvDateEnd.setOnClickListener(this);

selectDate();

returnview;

}

//选择起止时间

privatevoidselectDate(){

//控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释)

//因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11

CalendarselectedDate=Calendar.getInstance();

CalendarstartDate=Calendar.getInstance();

startDate.set(2025,0,1);

CalendarendDate=Calendar.getInstance();

endDate.set(2040,11,31);

//时间选择器

pvTime=newTimePickerView.Builder(getActivity(),newTimePickerView.OnTimeSelectListener(){

@Override

publicvoidonTimeSelect(Datedate,Viewv){//选中事件回调

//这里回调的v,就是show()方法里面所添加的View参数,如果show的时候没有添加参数,v则为null

TextViewtv=(TextView)v;

if(tv==tvDateStart){

startTime=getTimes(date);

}else{

endTime=getTimes(date);

}

//startTime就为开始时间,endTime为结束时间

Log.e("TAG","开始:"+startTime+"结束为"+endTime);

tv.setText(getTimes(date));

}

})

//年月日时分秒的显示与否,不设置则默认全部显示,这里可自行定制,true显示,false不显示

.setType(newboolean[]{true,true,false,false,false,false})

.setLabel("年","月","日","时","分","")

.isCenterLabel(true)

.setDividerColor(Color.DKGRAY)

.setContentSize(50)

.setDate(selectedDate)

.setRangDate(startDate,endDate)

.setDecorView(null)

.build();

}

@Override

publicvoidonClick(Viewv){

switch(v.getId()){

caseR.id.tv_date_start:

//点击组件的点击事件

pvTime.show(tvDateStart);

break;

caseR.id.tv_date_end:

pvTime.show(tvDateEnd);

break;

}

}

publicStringgetTimes(Datedate){//可根据需要自行格式化数据显示

SimpleDateFormatformat=new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论