之前看到设定日期的效果很好看,就想知道怎么做的,查了资料,原来是用的TimePickerDialog控件。DatePickerDialog控件和时间设置控件TimePickerDialog用法差不多。
public class MainActivity extends AppCompatActivity {
private Button btnset;
private Calendar calendar;
private TextView showtime;
private int year;
private int month;
private int day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnset = (Button) findViewById(R.id.btnset);
showtime = (TextView) findViewById(R.id.showtime);
//初始化日历对象
calendar = Calendar.getInstance(Locale.CHINA);
//获取当前日期对象
Date myDate = new Date();
//为日历对象设置时间为当前时间
calendar.setTime(myDate);
//获取日历中的年
year = calendar.get(Calendar.YEAR);
//获取日历中的月
month = calendar.get(Calendar.MONTH);
//获取这个月的第几天
day = calendar.get(Calendar.DAY_OF_MONTH);
showtime.setText("当前日期为: "+ year +"年"+ (month+1) +"月"+ day +"日");
btnset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DatePickerDialog dpd = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int myyear, int monthOfYear, int dayOfMonth) {
year = myyear ;
month = monthOfYear ;
day = dayOfMonth ;
//更新日期
updateDate();
}
}, year, month, day);
//显示DatePickerDialog组件
dpd.show();
}
private void updateDate() {
showtime.setText("当前日期为: "+ year +"年"+ (month+1) +"月"+ day +"日");
}
});
}
}
效果: