猫在练习长跑,乌龟讽刺道:再练,也不能跑出个长跑冠军!猫答:我成不了豹子,却能做最棒的猫!是的,努力做好自己,做到最棒,就是成功!加油!
本讲内容:DatePicker 日期选择器控件 TimePicker 时间选择器控件
示例一:以界面显示日期时间选择器控件
下面是res/layout/activity_main.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/id_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"/>
<DatePicker
android:id="@+id/id_datePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/id_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp"/>
<TimePicker
android:id="@+id/id_timePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
下面是MainActivity主界面文件:
public class MainActivity extends Activity {
private TextView date;
private TextView time;
private DatePicker datePicker;
private TimePicker timePicker;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
//获取当前的年月日时分信息
Calendar c=Calendar.getInstance();
int year=c.get(Calendar.YEAR);
int month=c.get(Calendar.MONTH);
int day=c.get(Calendar.DAY_OF_MONTH);
int hour=c.get(Calendar.HOUR_OF_DAY);
int minute=c.get(Calendar.MINUTE);
date.setText("现在日期:"+year+"-"+(month+1)+"-"+day);
time.setText("现在时间:"+hour+":"+minute);
/**
* 初始化日期,当用户更改了DatePicker里的年、月、日时,将触发OnDateChangedListener
* 监听器的onDateChanged()事件
*/
datePicker.init(year, month, day, new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
date.setText("现在日期:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
});
//设置时间为24小时制
timePicker.setIs24HourView(true);
/**
* 当用户更改了TimePicker里的时、分时,将触发OnTimeChangedListener监听器的onTimeChanged()事件
*/
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
time.setText("现在时间:"+hourOfDay+":"+minute);
}
});
}
/**
* 初始化控件
*/
private void initViews() {
date=(TextView) findViewById(R.id.id_date);
time=(TextView) findViewById(R.id.id_time);
datePicker=(DatePicker) findViewById(R.id.id_datePicker);
timePicker=(TimePicker) findViewById(R.id.id_timePicker);
}
}
示例二:以对话框方式显示日期时间选择器控件
下面是res/layout/activity_main.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/id_date_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示日期控件" />
<Button
android:id="@+id/id_time_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示时间控件" />
<TextView
android:id="@+id/id_date"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="现在日期:"
android:textSize="20sp" />
<TextView
android:id="@+id/id_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="现在时间:"
android:textSize="20sp" />
</LinearLayout>
下面是MainActivity.java主界面文件:
public class MainActivity extends Activity implements OnClickListener{
private Button date_button;
private Button time_button;
private TextView date;
private TextView time;
private Calendar c;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
}
/**
* 初始化控件
*/
private void initViews() {
date_button=(Button) findViewById(R.id.id_date_button);
time_button=(Button) findViewById(R.id.id_time_button);
date=(TextView) findViewById(R.id.id_date);
time=(TextView) findViewById(R.id.id_time);
c=Calendar.getInstance();
date_button.setOnClickListener(this);
time_button.setOnClickListener(this);
}
/**
* 显示日期对话框
*/
private void showDateDialog(){
DatePickerDialog date_dialog=new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
date.setText("现在日期:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
}, c.get(Calendar.YEAR), c.get(Calendar.DAY_OF_MONTH), c.get(Calendar.HOUR_OF_DAY));
date_dialog.show();
}
/**
* 显示时间对话框
*/
private void showTimeDialog(){
TimePickerDialog time_dialog=new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
time.setText("现在时间:"+hourOfDay+":"+minute);
}
}, c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true);
time_dialog.show();
}
/**
* 按钮点击事件
*/
public void onClick(View v) {
switch (v.getId()) {
case R.id.id_date_button:
showDateDialog();
break;
case R.id.id_time_button:
showTimeDialog();
break;
}
}
}
Take
your time and enjoy it