DialogFragment的使用方法简介
2016-01-05 15:13
405 查看
DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。
总结起来分为三个步骤:
1、创建DialogFragment Layout布局;
2、写一个类继承DialogFragment,完成相关代码;
3、在MainActivity中调用,显示该DialogFragment ;
具体步骤:
1、创建DialogFragment Layout布局;
布局:
2、写一个类继承DialogFragment;
3、在MainActivity中调用,显示该DialogFragment ;
总结起来分为三个步骤:
1、创建DialogFragment Layout布局;
2、写一个类继承DialogFragment,完成相关代码;
3、在MainActivity中调用,显示该DialogFragment ;
具体步骤:
1、创建DialogFragment Layout布局;
<style="font-size:18px;"><?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="wrap_content" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="3" android:gravity="center" android:text="注册失败" android:textColor="#000000" android:textSize="20sp" /> <TextView android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="2" android:gravity="center" android:text="手机已注册" android:textColor="#c3c3c3" android:textSize="20sp" /> <Button android:id="@+id/confirm" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:gravity="center" android:text="确定" android:textColor="#ff55aab7" android:textSize="20sp" /> </LinearLayout>
布局:
2、写一个类继承DialogFragment;
import android.app.DialogFragment; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.View.OnClickListener; import android.view.WindowManager; public class mDialogFragment extends DialogFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub //绘制DialogFragment的View,返回一个view对象 View view = inflater.inflate(R.layout.dialogfrag, container, false); //DialogFragment设置为无标题 getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE); //DialogFragment设置为透明的 getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); //设置DialogFragment的位置 final WindowManager.LayoutParams layoutParams = getDialog().getWindow().getAttributes(); layoutParams.gravity = Gravity.BOTTOM; getDialog().getWindow().setAttributes(layoutParams); <span style="white-space:pre"> </span>//点击确认DialogFragment消失 (view.findViewById(R.id.confirm)).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dismiss(); } }); return view; } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); //设置DialogFragment的大小,在onResume()中设置; getDialog().getWindow().setLayout(1080, 800); } }
3、在MainActivity中调用,显示该DialogFragment ;
import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //点击 DialogFragment findViewById(R.id.dialogfragment).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //实例化DialogFragment final mDialogFragment mdialogFragment = new mDialogFragment(); //show dialogFragment mdialogFragment.show(getFragmentManager(), "confirmDialogFragment"); //设置1.5秒后,dialogFragment消失 new Handler().postDelayed( new Runnable() { @Override public void run() { mdialogFragment.dismiss(); } }, 1500); } }); } }点击DialogFragment
相关文章推荐
- 让IE6 IE7 IE8 IE9 IE10 IE11支持Bootstrap的解决方法
- 软件工程之我所见
- QT 界面美化
- 使用Python神器对付12306变态验证码
- 深入理解HTTP Session
- [leetcode] 91. Decode Ways
- 数据挖掘十大经典算法
- 爬山法、分支限界法求解哈密顿环问题
- Java库中的Date类、Random类
- PHP判断访问用户是使用PC浏览器和手机浏览器
- bat制作抓取logcat,保存以时间命名的txt文件至设备目录
- 搭建私有git代码托管服务就是这么简单(简单5步)
- ZooKeeper
- iOS 查找友盟错误日志代码位置 —— HERO博客
- Android应用启动优化:一种DelayLoad的实现和原理(下篇)
- JDBC JNDI DBCP C3P0区别
- Windows用户搭建Android开发环境五步骤
- 查看进程号和 输出dump文件。刚开始一直报错
- zabbix监控日志文件 MySQL日志为例
- Apache解析html文件中的中文字符出现乱码