android中的timepick控件简单实用

Android在3.0后提工了时间/日期控件.这里只对时间控件(TimePick)做出简单的介绍.

如果想在项目中直接显示或者在项目中由用户自己选择,在布局文件中代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.tianfeng.timepicker.MainActivity">

    <TimePicker
        android:id="@+id/timepicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/btn_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/timepick"
        android:layout_below="@+id/timepicker" />
</RelativeLayout>
在mainactivity中,加载这些控件.代码如下.这里的button是为了让用户选择时间.

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button mBtnTime;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        mBtnTime = (Button) findViewById(R.id.btn_time);
        mBtnTime.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        int id = view.getId();
        switch(id){
            case R.id.btn_time:
                TimePickerFragment  timePicker = new TimePickerFragment();
                timePicker.show(getFragmentManager(), "timePicker");
                break;
            default:
                break;
        }
    }
}
最后,我们还的有一个TimepickFragment类.来获取timepick对象

public class TimePickerFragment extends DialogFragment implements
        TimePickerDialog.OnTimeSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        final Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);

        return new TimePickerDialog(getActivity(), this, hour, minute,
                DateFormat.is24HourFormat(getActivity()));
    }

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        //处理设置的时间,这里我们作为示例,在日志中输出我们选择的时间
        Log.d("onTimeSet", "hourOfDay: "+hourOfDay + "Minute: "+minute);
    }
注意:calender导报早java.util.calender包.

猜你喜欢

转载自blog.csdn.net/yaxin3690/article/details/51773635
今日推荐