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

很喜欢时光这个词,觉得它深邃,久远,充满浪漫的色彩,时间总是过得很快,流年一瞬,总想留住时间,但那是多么无知。
每天都在和时间打交道,早起的闹钟,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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值