安卓控件使用系列19:日期对话框和时间对话框的使用

日期对话框和时间对话框的使用是安卓系统比较重要的内容,下面我们来介绍一下它的实现方法。

这个例子实现的是在屏幕上显示圆形钟表以及文字钟表,点击两个按钮分别弹出时间对话框和日期对话框。

整体思路:AnalogClock、DigitalClock这两个控件是直接在屏幕上显示圆形钟表以及文字钟表的,在活动中定义年月日时分五个变量,实例化一个Calendar类,用于获取当前的年月日时分,并赋值给五个变量,在OnClick事件中分别实例化日期对话框和时间对话框并显示,实现SetListener用于对设置好的日期和时间以Toast的方式进行显示。

activity_main.xml文件:

 <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        >
  <AnalogClock 
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      />
  <DigitalClock 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:textSize="18dp"
      />
  <Button 
      android:id="@+id/button1"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="显示TimePickerDialog"
      />
  <Button 
      android:id="@+id/button2"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="显示DatePickerDialog"
      />

MainActivity.java文件:

    public class MainActivity extends Activity implements OnClickListener{
    private Button button1,button2;
    private int hourOfDay,minute;
    private int year,monthOfYear,dayOfMonth;
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		button1=(Button)findViewById(R.id.button1);
		button2=(Button)findViewById(R.id.button2);
		button1.setOnClickListener(this);
		button2.setOnClickListener(this);
//		获取当前的时间,获取小时和分钟
		Calendar calendar=Calendar.getInstance();
		hourOfDay=calendar.get(Calendar.HOUR_OF_DAY);
		minute=calendar.get(Calendar.MINUTE);
		year=calendar.get(Calendar.YEAR);
		monthOfYear=calendar.get(Calendar.MONTH);
		dayOfMonth=calendar.get(calendar.DAY_OF_MONTH);
	}


	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.button1:
			TimePickerDialog timePickerDialog=new TimePickerDialog(MainActivity.this,new MyTimePickerDialog(),hourOfDay,minute,true);
			timePickerDialog.show();//显示对话框
			break;

		case R.id.button2:
			DatePickerDialog datePickerDialog=new DatePickerDialog(MainActivity.this,new MyDatePickerDialog(),year,monthOfYear,dayOfMonth);
			datePickerDialog.show();//显示对话框
			break;
		}
	}
	
	public class MyTimePickerDialog implements TimePickerDialog.OnTimeSetListener{

		public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
			// TODO Auto-generated method stub
			Toast.makeText(MainActivity.this, "hourOfDay:"+hourOfDay+"  minute:"+minute, 1).show();
		}
		
	}
	
	public class MyDatePickerDialog implements DatePickerDialog.OnDateSetListener{

		public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
			// TODO Auto-generated method stub
			Toast.makeText(MainActivity.this, "year:"+year+"  monthOfYear:"+(monthOfYear+1)+"  dayOfMonth:"+dayOfMonth, 1).show();
		}
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值