UI组件之TimePiker

来源:互联网 发布:大数据培训班多少钱 编辑:程序博客网 时间:2024/05/20 07:50

UI组件之TimePiker

创建一个TimePikerDialog

1、创建一个类继承DialogFragment
2、重写onCreateDialog()方法,返回一个TimePikerDialog对象
3、让该类实现OnTimeSetListener接口,设置时间

demo

布局文件代码

<?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=".MainActivity">    <TextView        android:id="@+id/tv_time"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!" />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="设置时间"        android:id="@+id/button"        android:layout_below="@+id/tv_time"        android:layout_alignParentStart="true"        android:layout_marginTop="50dp" /></RelativeLayout>

TimePicker代码

package com.shake.day8_android_3;import android.app.Dialog;import android.app.DialogFragment;import android.app.TimePickerDialog;import android.os.Bundle;import java.util.Calendar;/** * Created by Administrator on 2016/1/23. */public class TimePicker extends DialogFragment implements TimePickerDialog.OnTimeSetListener {    int hour ;    int min;    private  MainActivity mainActivity;    /**     * 获取一个MainActivity对象     * @param savedInstanceState     */    @Override    public void onCreate(Bundle savedInstanceState) {        mainActivity= (MainActivity) getActivity();        super.onCreate(savedInstanceState);    }    /**     * 时间对话框中的“完成”按钮的单击事件     * @param view     * @param hourOfDay     * @param minute     */    @Override    public void onTimeSet(android.widget.TimePicker view, int hourOfDay, int minute) {        hour=hourOfDay;        min=minute;        //给textView设置时间        mainActivity.setTextView(hour,min);    }    /**     * 创建对话框的事件方法,该方法会在MainActivity中的按钮点击事件中调用show方法的时候,会检查是否存在     * Dialog,如果不存在,则触发该事件,创建对话框。否则则直接显示     * @param savedInstanceState     * @return     */    @Override    public Dialog onCreateDialog(Bundle savedInstanceState) {        //获得系统当前的时间        Calendar c =Calendar.getInstance();        hour=c.get(Calendar.HOUR_OF_DAY);        min=c.get(Calendar.MINUTE);        //创建时间对话框 参数为(上下文,设置时间事件,小时,分钟,是否为24小时)        TimePickerDialog timePickerDialog =new TimePickerDialog(getActivity(),this,hour,min,true);        return timePickerDialog;    }}

Activity代码

package com.shake.day8_android_3;import android.app.DialogFragment;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private TextView textView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        textView= (TextView) findViewById(R.id.tv_time);        findViewById(R.id.button).setOnClickListener(this);    }    public void setTextView(int hour,int min){        //给textview设置世间        textView.setText(hour+":"+min);    }    @Override    public void onClick(View v) {        //获取对象        DialogFragment dialogFragment =new TimePicker();        dialogFragment.show(getFragmentManager(),"timePicker");    }}

效果
这里写图片描述

0 0
原创粉丝点击