android之时间日期选择器

时间日期选择器相信我们都不会陌生,举一个最简单的例子吧,当我们在定闹钟的时候,会选择定时到几点,那么这就是一个时间日期选择器,那么在Android中怎样去实现这个时间日期选择器呢?


还是那句话,我们首先要明白实现这个功能需要分为几个步骤:

1:=============先在布局文件中建立一个activity_datepicker.xml文件=================

代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">


    <DatePicker
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/datePicker" />
</LinearLayout>

2:=======在MainActivity中实现功能代码========================

代码:

package com.hsj.example.commoncontroldemo02;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.DatePicker;
import java.util.Calendar;
public class MainActivity_bak09 extends AppCompatActivity {
    private DatePicker datePicker;
    private int year,month,day;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_datepicker);

        this.datePicker= (DatePicker) this.findViewById(R.id.datePicker);

        Calendar calendar=Calendar.getInstance();
        year=calendar.get(Calendar.YEAR);
        /*
        * 外国的月份表示为:0-11
        * 中国的月份表示为:1-12
        * */
        month = calendar.get(Calendar.MONTH)+1;
        day = calendar.get(Calendar.DATE);
        this.datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() {
            /**
             * 当日期发生变化时自动调用的方法
             * @param view
             * @param year
             * @param monthOfYear
             * @param dayOfMonth
             */
            @Override
            public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                String strDate=year+"-"+monthOfYear+"-"+dayOfMonth;
                System.out.println("strDate="+strDate);

                //销毁当前Activity,相当于用户按手机上的返回键
               finish();

            }
        });
        System.out.println(year+"-"+month+"-"+day);
    }

}

3:==========另外一种方式,在MainActivity中的代码,获取时分秒=====================

代码:

package com.hsj.example.commoncontroldemo02;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TimePicker;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
  private TimePicker timePicker;
  private int hour;
  private int minute;
  private int seconds;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.timePicker= (TimePicker) this.findViewById(R.id.timePicker);
        //是否使用24小时制,默认是12小时制
        this.timePicker.setIs24HourView(true);
        //得到日历控件
        Calendar calendar=Calendar.getInstance();
        hour=calendar.get(Calendar.HOUR);//得到小时
        minute=calendar.get(Calendar.MINUTE);//得到分钟
        seconds=calendar.get(Calendar.SECOND);//得到秒
        String strTime=hour+":"+minute+":"+seconds;
        System.out.println("strTime="+strTime);

        this.timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            /**
             * 当时间发生变化时自动调用的方法
             * @param view
             * @param hourOfDay 小时
             * @param minute  分钟
             */
            @Override
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                String strTime=hourOfDay+":"+minute;

                System.out.println("strTime="+strTime);
            }
        });

    }

}


那么以上就是所有代码的实现,希望能帮到需要的人。



猜你喜欢

转载自blog.csdn.net/h_snow_1/article/details/80337776