您的位置:首页 > 移动开发 > Android开发

Android控件之Time/DatePicker

2017-02-16 21:54 387 查看
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">

<!--
TimePicker时间选择器控件
-->
<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

<!--
DatePicker日期选择器控件
-->
<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>

<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="显示当前日期时间"
/>
</LinearLayout>


xml文件效果(具体效果要在模拟器上观察,实际效果要好看很多)



Java代码

package com.example.ui_date_timer_picker;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;

public class MainActivity extends Activity
{
private TimePicker timePicker;
private DatePicker datePicker;
private TextView textView;
private int year,month,day,hour,minute;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
getCurrentTime();
setPicker();
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {

@Override
public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
// 当时间选择器发生改变时触发
/*
* 三个参数:
* arg0:监听器绑定的发生改变的时间选择器的对象
* arg1:发生改变后的小时
* arg2:发生改变后的分钟
*/
System.out.println("From TimePicker:"+arg1+":"+arg2);

}
});

//日期选择器的init方法可以直接将初始化时间和绑定监听器一起实现
datePicker.init(year,month,day,new OnDateChangedListener() {

@Override
public void onDateChanged(DatePicker arg0, int arg1, int arg2, int arg3) {
//当日期选择器发生改变时触发
/*
* arg0为监听器绑定的发生改变的日期选择器对象
* arg1为改变后的年份
* arg2为改变后的月份
* arg3位改变后的日
* 由于国外的月份是从0开始算的,因此在输出月份时要+1才是中国的月份
*/
System.out.println("From DatePicker:"+arg1+"/"+(arg2+1)+"/"+arg3);
}
});
}
private void initView()
{
timePicker=(TimePicker)findViewById(R.id.timePicker);
datePicker=(DatePicker)findViewById(R.id.datePicker);
textView=(TextView)findViewById(R.id.textView);
}
private void setPicker()
{
//设置时间选择器为24小时制
timePicker.setIs24HourView(true);
//设置当前时间
timePicker.setCurrentHour(hour);
timePicker.setCurrentMinute(minute);
}

private void getCurrentTime()
{
//获取系统当前时间
Calendar calendar=Calendar.getInstance();
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH);
day=calendar.get(Calendar.DAY_OF_MONTH);
hour=calendar.get(Calendar.HOUR);
minute=calendar.get(Calendar.MINUTE);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐