此文,仅做为个人学习Android,记录成长以及方便复习!
首先是设置UI界面(有点丑)
1.activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<DatePicker
android:id="@+id/datePicker"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>
<TimePicker
android:id="@+id/timePicker"
android:layout_below="@id/datePicker"
android:layout_width="match_parent"
android:layout_height="3000dp"/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:text="我是占位置的!" />
</RelativeLayout>
界面如图:
2.MainActivity.java
package com.rui.pickerdome;
import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
import java.util.Calendar;
public class MainActivity extends Activity {
private TimePicker timePicker;//时间选择器
private TextView tv1;//文本
private DatePicker datePicker; //日期选择器
private Calendar calendar; //日期类
private int Year; //年
private int month; //月
private int day; //日
private int hour; //时
private int minute; //分
private int seconds; //秒
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//加载布局文件
setContentView(R.layout.activity_main);
//实例化TextView,DatePicker,TimePicker
tv1 = findViewById(R.id.tv1);
datePicker = findViewById(R.id.datePicker);
timePicker =findViewById(R.id.timePicker);
//实例化日期类
calendar = Calendar.getInstance();
Year = calendar.get(Calendar.YEAR);//获取当前年
month = calendar.get(Calendar.MONTH)+1;//获取月份,加1是因为月份是从0开始计算的
day = calendar.get(Calendar.DATE);//获取日
hour = calendar.get(Calendar.HOUR);//获取小时
minute = calendar.get(Calendar.MINUTE);//获取分钟
seconds = calendar.get(Calendar.SECOND);//获取秒钟
//设置标题栏显示当前事件
tv1.setText("当前时间:"+Year+"年"+month+"月"+day+"日 "+hour+":"+minute+":"+seconds);
//日期选择器初始化
//参数1,初始化年
//参数2,初始化月
//参数3,初始化日
//参数5,设置监听事件
datePicker.init(Year, month-1, day, new DatePicker.OnDateChangedListener() {
//实现监听方法
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
//设置文本显示内容,i为年,i1为月,i2为日
tv1.setText("当前时间:"+i+"年"+(i1+1)+"月"+i2+"日 "+hour+":"+minute+":"+seconds);
//以下赋值给全局变量,是为了后面的时间选择器,选择时间的时候不会获取不到日期!
Year=i;
month=i1+1;
day=i2;
}
});
//时间选择器监听事件
timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
//实现监听方法
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
//设置文本显示内容
tv1.setText("当前时间:"+Year+"年"+month+"月"+day+"日 "+i+":"+i1);
}
});
}
}
启动图
选择日期图
选择时间图