本文实例讲述了Android基于DialogFragment创建对话框的方法。分享给大家供大家参考,具体如下:
/**
* 使用DialogFragment创建对话框
* @description:
* @author ldm
* @date 2016-5-12 下午2:00:01
*/
public class FragmentAlertDialog extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_dialog);
// 初始化Button及设置监听
button = (Button) findViewById(R.id.show);
button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// 弹出对话框
showDialog();
}
});
}
void showDialog() {
// DialogFragment 创建对话框
DialogFragment newFragment = MyAlertDialogFragment
.newInstance(R.string.alert_dialog_two_buttons_title);
newFragment.show(getFragmentManager(), "dialog");
}
public void doPositiveClick() {
Log.i("FragmentAlertDialog", "Positive click!");
}
public void doNegativeClick() {
Log.i("FragmentAlertDialog", "Negative click!");
}
/**
* 自定义弹出对话框DialogFragmet
*
* @description:
* @author ldm
* @date 2016-5-12 下午1:54:31
*/
public static class MyAlertDialogFragment extends DialogFragment {
public static MyAlertDialogFragment newInstance(int title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putInt("title", title);
frag.setArguments(args);
return frag;
}
/**
* DialogFragment需要实现onCreateView或者onCreateDIalog方法。
* onCreateView():使用定义的xml布局文件展示Dialog。
* onCreateDialog():利用AlertDialog或者Dialog创建出Dialog。
*/
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int title = getArguments().getInt("title");
return new AlertDialog.Builder(getActivity())//创建一个Dialog
.setIcon(R.drawable.alert_dialog_icon)//设置图标
.setTitle(title)//设置标题
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {//确认(OK)按钮
public void onClick(DialogInterface dialog,
int whichButton) {
((FragmentAlertDialog) getActivity())
.doPositiveClick();
}
})
.setNegativeButton(R.string.alert_dialog_cancel,//取消(Cancel)按钮
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
((FragmentAlertDialog) getActivity())
.doNegativeClick();
}
}).create();
}
}
}
布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="4dip" >
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_weight="1"
android:gravity="top|center_horizontal"
android:text="Example of displaying an alert dialog with a DialogFragment"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0"
android:text="@string/show" >
</Button>
</LinearLayout>
开源代码:https://github.com/ldm520/ANDROID_API_DEMOS
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# DialogFragment
# 创建
# 对话框
# Android 之BottomsheetDialogFragment仿抖音评论底部弹出对话框效果(实
# 解决Android中自定义DialogFragment解决宽度和高度问题
# Android开发之DialogFragment用法实例总结
# Android中DialogFragment自定义背景与宽高的方法
# 详解Android应用中DialogFragment的基本用法
# Android中使用DialogFragment编写对话框的实例教程
# DialogFragment运行原理及使用方法详解
# 弹出
# 进阶
# 下午
# 相关内容
# 感兴趣
# 给大家
# 自定义
# 更多关于
# 解决方法
# 所述
# 创建一个
# 程序设计
# 开源
# 讲述了
# View
# onClick
# OnClickListener
# https
# MyAlertDialogFragment
相关文章:
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何注册花生壳免费域名并搭建个人网站?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
如何通过虚拟主机快速搭建个人网站?
Java解压缩zip - 解压缩多个文件或文件夹实例
建站之星如何实现PC+手机+微信网站五合一建站?
韩国服务器如何优化跨境访问实现高效连接?
php json中文编码为null的解决办法
香港服务器租用每月最低只需15元?
网站制作公司排行榜,抖音怎样做个人官方网站
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何用IIS7快速搭建并优化网站站点?
广东企业建站网站优化与SEO营销核心策略指南
建站上传速度慢?如何优化加速网站加载效率?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
如何在Windows服务器上快速搭建网站?
金*站制作公司有哪些,金华教育集团官网?
如何快速完成中国万网建站详细流程?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
如何做网站制作流程,*游戏网站怎么搭建?
建站之星安装步骤有哪些常见问题?
Python路径拼接规范_跨平台处理说明【指导】
网站制作服务平台,有什么网站可以发布本地服务信息?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何通过IIS搭建网站并配置访问权限?
*服务器网站为何频现安全漏洞?
深圳网站制作案例,网页的相关名词有哪些?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何选择CMS系统实现快速建站与SEO优化?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
宝塔Windows建站如何避免显示默认IIS页面?
海南网站制作公司有哪些,海口网是哪家的?
建站之星logo尺寸如何设置最合适?
公众号网站制作网页,微信公众号怎么制作?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
重庆网站制作公司哪家好,重庆中考招生办官方网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
C#怎么使用委托和事件 C# delegate与event编程方法
css网站制作参考文献有哪些,易聊怎么注册?
合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?
定制建站价位费用解析与套餐推荐全攻略
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何制作一个表白网站视频,关于勇敢表白的小标题?
建站之星收费标准详解:套餐费用及年费价格表一览
如何彻底删除建站之星生成的Banner?
成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
定制建站如何定义?其核心优势是什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。