我是靠谱客的博主 眯眯眼春天,这篇文章主要介绍Android入门之基础时间日期控件DatePicker(Dialog)、TimePicker(Dialog)、DigitalClock和AnalogClock预览图,现在分享给大家,希望可以做个参考。
Android入门之时间日期控件DatePicker(Dialog)、TimePicker(Dialog)、DigitalClock和AnalogClock
- 预览图
- DatePicker
- UI代码
- Java代码
- TimePicker
- UI代码
- Java代码
- TimePickerDialog
- Java代码
- DatePickerDialog
- Java代码
- 其余控件DigitalClock,AnalogClock
- UI代码
- 其余资料
本文模式为安卓10.0,部分控件根据版本有较大变动
预览图
DatePicker
更改日期后Toast点击响应
UI代码
//两种日历模式
<DatePicker //默认的calendar类
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:datePickerMode="calendar"
></DatePicker>
<DatePicker //spinner类
android:layout_marginTop="70dp"
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:datePickerMode="spinner"//安卓5.0之后要加上这句才能选择spinner
android:calendarViewShown="false"
></DatePicker>
两种模式默认calendar(左)和spinner(右)
注意:
在安卓5.0之后,用 android:datePickerMode=“spinner” 选择spinner模式
android:calendarViewShown=“false” 也需要,没有这句安卓10.0会导致两个模式的日历同时出
android:spinnersShown=“true” 已经失效
Java代码
DatePicker datePicker = findViewById(R.id.date);//绑定控件
//获取当前年月日
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
datePicker.init(year,month,day,this);
}
//更改日期后的Toast响应
public void onDateChanged(DatePicker view, int year, int month, int day){
Toast.makeText(MainActivity.this, year + "年 "+ month +"月 "+day + "日",Toast.LENGTH_SHORT).show();
}
TimePicker
TimePicker内容与DatePicker大致相同
UI代码
<TimePicker
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="clock"//两种模式,另一种“spinner”
></TimePicker>
两种模式:spinner(右)和默认clock(左)
Java代码
//Timepicker
final TimePicker time = (TimePicker) findViewById(R.id.time);//绑定控件
time.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
Calendar a = Calendar.getInstance();
final int hour = a.get(Calendar.HOUR_OF_DAY);
final int minute = a.get(Calendar.MINUTE);
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
time.setIs24HourView(true); //24小时制
Toast.makeText(MainActivity.this, i + "时" + i1 + "分",Toast.LENGTH_SHORT).show();
}
});
//常用属性
// picker.setIs24HourView(true);
// picker.is24HourView();//获取是否为24小时
// Calendar calendar = Calendar.getInstance();
// picker.setCurrentHour(Calendar.HOUR_OF_DAY);//建立当前时间
TimePickerDialog
- 点击button后出现的TimePickerDialog,Toast响应修改后的时间
- 直接出现的TimePickerDialog
Java代码
UI代码就只有一个按钮
//前面还有private Button b1;
//点击按钮b1出现的TimePickerDialog
Button b1 = findViewById(R.id.b1);
b1.setOnClickListener(new View.OnClickListener() {
//得到当前的时间
Calendar a = Calendar.getInstance();
final int hour = a.get(Calendar.HOUR_OF_DAY);
final int minute = a.get(Calendar.MINUTE);
@Override
public void onClick(View view) {
//点进去显示当前时间
Toast.makeText(MainActivity.this,hour + "时" + minute + "分",Toast.LENGTH_SHORT).show();
TimePickerDialog.OnTimeSetListener tcListener = new TimePickerDialog.OnTimeSetListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
//获得修改后的时间
a.set(Calendar.HOUR_OF_DAY, hour);
a.set(Calendar.MINUTE, minute);
Toast.makeText(MainActivity.this, timePicker.getHour() + "时" + timePicker.getMinute()+ "分",Toast.LENGTH_SHORT).show();/显示修改后的时间
}
};
TimePickerDialog tpDlg = new TimePickerDialog(view.getContext(), tcListener, hour, minute, false);
tpDlg.show();
}
});
/*直接出现的TimePickerDialog
new TimePickerDialog(this, AlertDialog.THEME_HOLO_LIGHT,new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Toast.makeText(MainActivity.this,hourOfDay + "时" + minute + "分",Toast.LENGTH_SHORT).show();
}
}, 0, 0, false).show();
*/
DatePickerDialog
代码响应与TimePickerDialog无较大差别
Java代码
UI代码就只有一个按钮
//前面还有private Button b2;
Button b2 = findViewById(R.id.b2);
b2.setOnClickListener(new View.OnClickListener() {
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// @Override
public void onClick(final View view) {
DatePickerDialog dpDlg = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
year = i;
month = i1;
day = i2;
Toast.makeText(MainActivity.this, i + "年 "+ (i1 + 1) +"月 "+ i2 + "日",Toast.LENGTH_SHORT).show();
}
},year,month,day);
dpDlg.show();
}
});
//第二种方法
// DatePickerDialog.OnDateSetListener DL = new DatePickerDialog.OnDateSetListener() {
// @Override
// public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
//
// c.set(Calendar.YEAR, year);
// c.set(Calendar.MONTH, month);
// c.set(Calendar.DAY_OF_MONTH, day);
// Toast.makeText(MainActivity.this, i + "年 "+ i1 +"月 "+ i2 + "日",Toast.LENGTH_SHORT).show();
// }
// };
// DatePickerDialog dpDlg1 = new DatePickerDialog(view.getContext(),DL, year, month, day);
// dpDlg1.show();
其余控件DigitalClock,AnalogClock
DigitalClock显示数字时钟,可以显示当前的秒数;AnalogClock显示模拟时钟,不会显示当前秒数。
AnalogClock(左)和DigitalClock(右)
UI代码
<AnalogClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="#FF3E96"
android:textColor="#FCFCFC"
></AnalogClock>
<DigitalClock
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="20dp"
android:background="#FF3E96"
android:textColor="#FCFCFC"
android:textSize="50dp"
></DigitalClock>
其余资料
详细时间日期控件的常用方法和属性
(博客作者:依旧淡然)
最后
以上就是眯眯眼春天最近收集整理的关于Android入门之基础时间日期控件DatePicker(Dialog)、TimePicker(Dialog)、DigitalClock和AnalogClock预览图的全部内容,更多相关Android入门之基础时间日期控件DatePicker(Dialog)、TimePicker(Dialog)、DigitalClock和AnalogClock预览图内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复