遇见,控件----Datepicker&TimePicker

来源:互联网 发布:本雅明 译本 知乎 编辑:程序博客网 时间:2024/04/30 06:59

很喜欢时光这个词,觉得它深邃,久远,充满浪漫的色彩,时间总是过得很快,流年一瞬,总想留住时间,但那是多么无知。
每天都在和时间打交道,早起的闹钟,deadline,或者你爱上你的那个Ta的纪念……
从初学c语言就试着去搞懂时间的相关算法,到如今Android,遇见DatePicker&TimePicker。
它们仅仅是一个控件而已,和button一样简单而饱含使命,Android把它们封装的很好,甚至可以自己获取到当前系统时间,而当我们要选择日期或者时间的话,只需要找到那个时间,我们的逻辑就可以记下时间。
这是Android6.0的DatePicker
这里写图片描述

我们为了简洁在xml里面只放了DatePicker

    <DatePicker        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/datePicker"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true" />

Java文件里通过对控件的监听来实现获取时间

public class MainActivity extends AppCompatActivity {    DatePicker datePicker;   Calendar calendar;    private int year;    private int month;    private int day;    @TargetApi(Build.VERSION_CODES.N)    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        calendar = Calendar.getInstance();        // 获取日历对象        year = calendar.get(Calendar.YEAR);        //获取到年        month = calendar.get(Calendar.MONTH) + 1;        //获取到月        day = calendar.get(Calendar.DAY_OF_MONTH);        //获取到日        datePicker= (DatePicker) findViewById(R.id.datePicker);        datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {            @Override            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {                setTitle(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);            }        });//监听器,设置时间    }}

我们通过日历对象来获取时间,并通过监听器来设置时间。

TImePicker使用方法一样,不过不用设置初始化

<TimePicker        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:id="@+id/timePicker"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true" />

java里设置监听器

public class MainActivity extends AppCompatActivity {  TimePicker timePicker;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        timePicker= (TimePicker) findViewById(R.id.timePicker);        timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {            @Override            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {                setTitle(hourOfDay + ":" + minute);            }        });    }}

效果图
这里写图片描述

0 0
原创粉丝点击