对话框创建新方式showDialog和DialogFragment
来源:互联网 发布:京东有没有类似淘宝客 编辑:程序博客网 时间:2024/06/08 07:05
创建对话框
一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能.
Android API 支持下列类型的对话框对象:
警告对话框 AlertDialog: 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型.
进度对话框 ProgressDialog: 显示一个进度环或者一个进度条. 由于它是AlertDialog的扩展, 所以它也支持按钮.
日期选择对话框 DatePickerDialog: 让用户选择一个日期.
时间选择对话框 TimePickerDialog: 让用户选择一个时间.
如果你希望自定义你的对话框, 可以扩展Dialog类.
Showing a Dialog 显示对话框
一个对话框总是被创建和显示为一个Activity的一部分. 你应该在Activity的onCreateDialog(int)中创建对话框. 当你使用这个回调函数时,Android系统自动管理每个对话框的状态并将它们和Activity连接, 将Activity变为对话框的"所有者". 这样,每个对话框从Activity继承一些属性. 例如,当一个对话框打开时, MENU键会显示Activity的菜单, 音量键会调整Activity当前使用的音频流的音量.
注意: 如果你希望在onCreateDialog()方法之外创建对话框, 它将不会依附在Activity上. 你可以使用setOwnerActivity(Activity)来将它依附在Activity上.
当你希望显示一个对话框时, 调用showDialog(int)并将对话框的id传给它.
当一个对话框第一次被请求时,Android调用onCreateDialog(int). 这里是你初始化对话框的地方. 这个回调函数传入的id和showDialog(int)相同. 创建对话框之后,将返回被创建的对象.
在对话框被显示之前,Android还会调用onPrepareDialog(int, Dialog). 如果你希望每次显示对话框时有动态更改的内容, 那么就改写这个函数. 该函数在每次一个对话框打开时都调用. 如果你不定义该函数,则对话框每次打开都是一样的. 该函数也会传入对话框的id以及你在onCreateDialog()中创建的Dialog对象.
一个对话框一般是一个出现在当前Activity之上的一个小窗口. 处于下面的Activity失去焦点, 对话框接受所有的用户交互. 对话框一般用于提示信息和与当前应用程序直接相关的小功能.
Android API 支持下列类型的对话框对象:
警告对话框 AlertDialog: 一个可以有0到3个按钮, 一个单选框或复选框的列表的对话框. 警告对话框可以创建大多数的交互界面, 是推荐的类型.
进度对话框 ProgressDialog: 显示一个进度环或者一个进度条. 由于它是AlertDialog的扩展, 所以它也支持按钮.
日期选择对话框 DatePickerDialog: 让用户选择一个日期.
时间选择对话框 TimePickerDialog: 让用户选择一个时间.
如果你希望自定义你的对话框, 可以扩展Dialog类.
Showing a Dialog 显示对话框
一个对话框总是被创建和显示为一个Activity的一部分. 你应该在Activity的onCreateDialog(int)中创建对话框. 当你使用这个回调函数时,Android系统自动管理每个对话框的状态并将它们和Activity连接, 将Activity变为对话框的"所有者". 这样,每个对话框从Activity继承一些属性. 例如,当一个对话框打开时, MENU键会显示Activity的菜单, 音量键会调整Activity当前使用的音频流的音量.
注意: 如果你希望在onCreateDialog()方法之外创建对话框, 它将不会依附在Activity上. 你可以使用setOwnerActivity(Activity)来将它依附在Activity上.
当你希望显示一个对话框时, 调用showDialog(int)并将对话框的id传给它.
当一个对话框第一次被请求时,Android调用onCreateDialog(int). 这里是你初始化对话框的地方. 这个回调函数传入的id和showDialog(int)相同. 创建对话框之后,将返回被创建的对象.
在对话框被显示之前,Android还会调用onPrepareDialog(int, Dialog). 如果你希望每次显示对话框时有动态更改的内容, 那么就改写这个函数. 该函数在每次一个对话框打开时都调用. 如果你不定义该函数,则对话框每次打开都是一样的. 该函数也会传入对话框的id以及你在onCreateDialog()中创建的Dialog对象.
最好的定义onCreateDialog(int) 和onPrepareDialog(int, Dialog) 的方法就是使用一个switch语句来检查传入的id. 每个case创建相应的对话框.
FragmentDialog:
- public class LoginDialogFragment extends DialogFragment
- {
- @Override
- public Dialog onCreateDialog(Bundle savedInstanceState)
- {
- AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
- // Get the layout inflater
- LayoutInflater inflater = getActivity().getLayoutInflater();
- View view = inflater.inflate(R.layout.fragment_login_dialog, null);
- // Inflate and set the layout for the dialog
- // Pass null as the parent view because its going in the dialog layout
- builder.setView(view)
- // Add action buttons
- .setPositiveButton("Sign in",
- new DialogInterface.OnClickListener()
- {
- @Override
- public void onClick(DialogInterface dialog, int id)
- {
- }
- }).setNegativeButton("Cancel", null);
- return builder.create();
- }
- }
- public void showLoginDialog(View view)
- {
- LoginDialogFragment dialog = new LoginDialogFragment();
- dialog.show(getFragmentManager(), "loginDialog");
- }
0 0
- 对话框创建新方式showDialog和DialogFragment
- 使用ProgressDialog创建进度对话框-showDialog方式
- DialogFragment创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- DialogFragment 创建对话框
- android开发 -- 对话框 Dialog 和 DialogFragment 详解( Android 官方推荐 DialogFragment 创建对话框 )
- DialogFragment---官方推荐 : DialogFragment创建对话框
- 如何使用DialogFragment类来创建和显示对话框
- 如何使用DialogFragment类来创建和显示对话框
- Android使用DialogFragment创建对话框
- Android使用DialogFragment创建对话框
- android:使用DialogFragment 创建对话框
- 【继上篇】云计算架构概念和技术基础
- centos 6.5 yum 安装 apache2
- WARNING: Output of vertex shader 'v_gradient' not read by fragment shader
- Unity UGUI个人学习纪录
- win8下eclipse搭建hadoop2.7.2开发环境
- 对话框创建新方式showDialog和DialogFragment
- ubuntu update缺少公钥解决方法 NO_PUBKEY 16126D3A3E5C1192
- T语言与快速开发平台
- svn导出opencv源码地址
- 用“MEAN”技术栈开发web应用(一)AngularJs前端架构
- ipython 使用小技巧
- 吐槽小程序开发踩过的坑,以及一些解决方法
- webservice的创建与调用
- 键盘控制鼠标的方法