用户界面View之DatePicker与TimePicker

来源:互联网 发布:三维建筑物重建软件 编辑:程序博客网 时间:2024/06/05 03:46

猫在练习长跑,乌龟讽刺道:再练,也不能跑出个长跑冠军!猫答:我成不了豹子,却能做最棒的猫!是的,努力做好自己,做到最棒,就是成功!加油!


本讲内容: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 


0 0
原创粉丝点击