Input Controls-Pickers
来源:互联网 发布:云尚数据怎么样 编辑:程序博客网 时间:2024/05/07 15:12
Pickers
Android 为用户提供了选择时间和日期的选择器对话框。每个选择器提供用于选择每个部分的时间(小时、分钟,上午/下午)或日期(月、日、年)的操作。使用这些选择器控件可以确保用户选择的时间或日期是有效的,格式是正确的并且可以根据用户本地的时区去做适配。
我们推荐你使用DialogFragment控件来作为时间日期选择器的宿主,这样DialogFragment将会管理选择器的生命周期,并且允许你在不同的布局配置中显示选择器对话框,如在手机中作为基本的对话框显示,在平板上则作为布局的一部分显示。
虽然DialogFragment在Android3.0(API level 11) 被添加进来,但如果你的应用所支持的SDK版本低于3.0,你可以使用Android提供的向后兼容的支持库。
Note:以下代码例子展示了如何使用Android提供的支持库通过DialogFragment来创建时间选择器和日期选择器。如果你的应用设置的minSdkVersion >= 11,你可以使用SDK自带的api来开发。
Creating a Time Picker
为了使用DialogFragment显示TimePickerDialog,你需要自定义一个继承DialogFragment的类并覆写父类的onCreateDialog()返回一个TimePickerDialog.
Note:如果你的应用支持的SDK版本小于3.0,请确保你已经将Android提供的支持库导进了你的项目。 Setting Up a Project to Use a Library
Extending DialogFragment for a time picker
为了TimePickerDialog自定义DialogFragment,你必须实现以下两点:
覆写onCreateDialog()方法并返回一个TimePickerDialog实例
实现TimePickerDialog.OnTimeSetListener接口,当用户设置时间时接收回调并处理。
例子
public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the current time as the default values for the picker final Calendar c = Calendar.getInstance(); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); // Create a new instance of TimePickerDialog and return it return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity())); } public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // Do something with the time chosen by the user }}
TimePickerDialog中可以查看构造函数的形参
现在你只需将上面自定义的类添加进你的Activity即可。
Showing the time picker
当你像上面所说的自定义了一个DialogFragment,你就可以通过调用show()方法来显示在自定义类中创建的时间选择器对话框。
如,有个按钮,当点击时调用方法去显示时间选择器对话框:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pick_time" android:onClick="showTimePickerDialog" />
当点击发生时,系统调用下面的方法:
public void showTimePickerDialog(View v) { DialogFragment newFragment = new TimePickerFragment(); newFragment.show(getSupportFragmentManager(), "timePicker");}
这个方法通过上面创建的自定义DialogFragment实例调用show()方法。show()方法需要FragmentManager的实例和一个唯一的字符串标签作为形参传入。
Creating a Date Picker
创建一个DatePickerDialog跟上面创建TimePickerDialog一样,唯一不同的是你所创建的选择器对话框。
0 0
- Input Controls-Pickers
- Pickers
- API Guides/Input Controls
- Android - Input Controls
- HTML5表单之Input 类型- Date Pickers(日期选择器)
- Input Controls(输入控件)
- Android API Guides---Input Controls
- Pickers(选择器)
- Controls
- controls
- Android UI之输入控制(Input Controls)
- Pickers(选择器)
- android之Pickers
- Android API Guides---Pickers
- android - Pickers(Time DatePicker)
- Ios5(五)多视图pickers应用程序实现
- 2.6 Implementing Range Pickers with UISlider
- Web Controls
- ASIHTTPRequest 详解
- sdadsa
- 典型的notification一例——“点击Notification,打开浏览器”
- 查看 MySQL 数据库中每个表占用的空间大小
- C#学习之接口
- Input Controls-Pickers
- [Unity3D] 关于触屏用Ray来Hit场景中GameObject的笔记
- 工厂模式
- ISO8601:2004 数据存储和交换形式·信息交换·日期和时间的表示方法
- 二、PYTHON 学习笔记之multiprocessing
- intervalSince1970 to String
- SAP BASIS SE43修改SAP标准菜单,登陆界面,背景图片
- C语言表达式与语另类解释
- VS2010的代码粘贴到Word里面的汉字乱码修正问题