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包.