时间日期选择器相信我们都不会陌生,举一个最简单的例子吧,当我们在定闹钟的时候,会选择定时到几点,那么这就是一个时间日期选择器,那么在Android中怎样去实现这个时间日期选择器呢?
还是那句话,我们首先要明白实现这个功能需要分为几个步骤:
1:=============先在布局文件中建立一个activity_datepicker.xml文件=================
代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <DatePicker android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/datePicker" /> </LinearLayout> |
2:=======在MainActivity中实现功能代码========================
代码:
package com.hsj.example.commoncontroldemo02; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.DatePicker; import java.util.Calendar; public class MainActivity_bak09 extends AppCompatActivity { private DatePicker datePicker; private int year,month,day; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_datepicker); this.datePicker= (DatePicker) this.findViewById(R.id.datePicker); Calendar calendar=Calendar.getInstance(); year=calendar.get(Calendar.YEAR); /* * 外国的月份表示为:0-11 * 中国的月份表示为:1-12 * */ month = calendar.get(Calendar.MONTH)+1; day = calendar.get(Calendar.DATE); this.datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { /** * 当日期发生变化时自动调用的方法 * @param view * @param year * @param monthOfYear * @param dayOfMonth */ @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { String strDate=year+"-"+monthOfYear+"-"+dayOfMonth; System.out.println("strDate="+strDate); //销毁当前Activity,相当于用户按手机上的返回键 finish(); } }); System.out.println(year+"-"+month+"-"+day); } } |
3:==========另外一种方式,在MainActivity中的代码,获取时分秒=====================
代码:
package com.hsj.example.commoncontroldemo02; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.TimePicker; import java.util.Calendar; public class MainActivity extends AppCompatActivity { private TimePicker timePicker; private int hour; private int minute; private int seconds; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.timePicker= (TimePicker) this.findViewById(R.id.timePicker); //是否使用24小时制,默认是12小时制 this.timePicker.setIs24HourView(true); //得到日历控件 Calendar calendar=Calendar.getInstance(); hour=calendar.get(Calendar.HOUR);//得到小时 minute=calendar.get(Calendar.MINUTE);//得到分钟 seconds=calendar.get(Calendar.SECOND);//得到秒 String strTime=hour+":"+minute+":"+seconds; System.out.println("strTime="+strTime); this.timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { /** * 当时间发生变化时自动调用的方法 * @param view * @param hourOfDay 小时 * @param minute 分钟 */ @Override public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { String strTime=hourOfDay+":"+minute; System.out.println("strTime="+strTime); } }); } } |
那么以上就是所有代码的实现,希望能帮到需要的人。