Android DialogFragment(1)

Android DialogFragment(1)

和过去的AlertDialog类似,Android引入的DialogFragment旨在为开发者提供一个“富”dialog,而不必受到过去Android AlertDialog的局限。首先,DialogFragment是一个Fragment,它有Fragment的一切属性和生命周期,其次,DialogFragment具有和AlertDialog相类似的Dialog呈现形式。现在我写一个例子加以说明。
本例简单的以一个按钮启动弹出一个DialogFragment。当点击Button按钮后,弹出一个Android DialogFragment。
Java代码:

1package zhangphil.dialog; 2 3import android.app.Activity; 4import android.app.DialogFragment; 5import android.os.Bundle; 6import android.view.LayoutInflater; 7import android.view.View; 8import android.view.ViewGroup; 9import android.view.Window; 10import android.widget.Button; 11import android.widget.TextView; 12 13public class MainActivity extends Activity { 14 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 20 Button button = (Button) findViewById(R.id.button); 21 button.setOnClickListener(new View.OnClickListener() { 22 23 @Override 24 public void onClick(View v) { 25 MyDialogFragment f = new MyDialogFragment(); 26 27 f.show(getFragmentManager(), "my tag"); 28 } 29 }); 30 } 31 32 private class MyDialogFragment extends DialogFragment { 33 34 @Override 35 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 36 37 // DialogFragment如同AlertDialog一样,这段代码将取消标题,创建一个单纯的Frame 38 getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); 39 40 // 以下是该Fragment里面的内容 41 42 View view = inflater.inflate(android.R.layout.simple_list_item_2, container); 43 TextView text1 = (TextView) view.findViewById(android.R.id.text1); 44 TextView text2 = (TextView) view.findViewById(android.R.id.text2); 45 text1.setText("zhangphil @csdn"); 46 text2.setText("http://blog.csdn.net/zhangphil"); 47 return view; 48 } 49 } 50}

代码运行结果:

附录:
1,《Android Material Design Dialog》链接地址:http://blog.csdn.net/zhangphil/article/details/48895503

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )