Android控件之TimePickerDialog
来源:互联网 发布:阿莫达非尼 淘宝 编辑:程序博客网 时间:2024/06/06 02:50
1、TimePickerDialog简介
之前介绍了ProgressBarDialog、AlertDialog,现在介绍TimePickerDialog。该控件是用来显示一个时间对话框的。具体的效果如下图:
2、代码介绍
下面的代码实现了在设置完时间后,用户设置的时间在手机上显示出来的作用。
首先新建了一个TimePickerFragment类,该类继承了DialogFragment类,DialogFragment类是一个碎片类,所谓碎片就是,如果我们将Activity所对应的布局文件视为一个整体的面板或画板,我们在这个布局文件上进行布局,就是在画板上作画。但有时候我们需要在画板的上面再填加一些东西,这样我就可以使用碎片。顾名思义,碎片,既是整个画板上的一个一个小布局而已。同时,该类还实现了TimePickerDialog.OnTimeSetListener接口,为时间对话框的OK按钮或完成按钮(由android版本而定)绑定了点击事件。具体代码如下:
package com.example.timepicker;import java.util.Calendar;import android.app.Dialog;import android.app.DialogFragment;import android.app.TimePickerDialog;import android.os.Bundle;import android.widget.TimePicker;public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {private int hour;private int minute;private MainActivity mainActivity;/** * 重写DialogFragment类的onCreate方法, * 重写该方法的目的是,初始化本类的相关属性的值 */@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);mainActivity = (MainActivity) getActivity();}/** * 重写DialogFragment类的onCreateDialog方法, * 目的是,在显示时间弹出框时,初始化弹出框内的时间的值 */@Overridepublic Dialog onCreateDialog(Bundle savedInstanceState){// 获取当前的系统时间Calendar calendar = Calendar.getInstance();hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);// 创建TimePickerDialog实例TimePickerDialog timePickerDialog = new TimePickerDialog(getActivity(), this, hour, minute, true);return timePickerDialog;}/** * 点击时间弹出框的完成按钮,将用户的设置时间得到。 */@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {this.hour = hourOfDay;this.minute = minute;mainActivity.setTimeValue(hourOfDay, minute);}}MainActivity.java代码如下:
package com.example.timepicker;import android.app.Activity;import android.app.DialogFragment;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;public class MainActivity extends Activity {private TextView tv1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv1 = (TextView) findViewById(R.id.textView1);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}/** * 把 用户设置的时间,赋值给TextView * @param hour * @param minute */public void setTimeValue(int hour, int minute){tv1.setText(hour + ":" + minute);}/** * 按钮点击时间 * @param view */public void setTimeClick(View view){DialogFragment tpDialogFragment = new TimePickerFragment();// 第一个参数:Fragment管理器// 第二个参数:Tag,标签tpDialogFragment.show(getFragmentManager(), "timePicker");}}这个例子用到了Fragment(碎片),对于这个类的具体其他用法,后面我在写博客介绍。
0 0
- Android控件之TimePickerDialog
- 【Android 开发】:UI控件之 TimePickerDialog 时间对话框的使用
- Android控件之TimePickerDialog、DatePickerDialog和自定义DialogPopupWindow与NotificationManager
- Android之Date/TimePickerDialog
- Android之TimePickerDialog使用
- [android]控件TimePicker/TimePickerDialog简介
- Android之TimePicker和TimePickerDialog
- Android常用控件--TimePickerDialog(时间选择对话框)
- Android开发之四(十二):常用控件之时间设置(TimePickerDialog)
- Android入门之TimePickerDialog(纯java)
- [android] 解决DatePickerDialog和TimePickerDialog控件取消按钮问题
- TimePickerDialog控件的使用
- Android碧水剑之DatePickerDialog、TimePickerDialog之岁月如梭
- android开发之DatePickerDialog与TimePickerDialog的使用
- Android之日期和时间对话框DatePickerDialog和TimePickerDialog
- 2017最新详解Android中对话框之DatePickerDialog与TimePickerDialog
- Android DatePickerDialog和TimePickerDialog
- android TimePickerDialog和DatePickerDialog
- qt_简易记事本_6
- PHP之thinkphp的数据库操作代码段汇总
- SSH框架整合问题
- SQL Server 查询表的记录数(3种方法,推荐第一种)
- IIS7.0 webconfig的urlrewrite
- Android控件之TimePickerDialog
- Linux之tcpdump用法汇总整理
- PHP开发环境搭建以及开发工具IDE介绍
- c# windows服务 一个进程 多个服务的使用
- 走出迷宫(C程序设计进阶第9周)
- 基于合成视点和深度图的3D图像质量评价
- 摆摊卖人贴--for BAT &FLAG
- 模板文件
- java各种有符号无符号进制转换