Android DialogFragment对话框

写在前面

从事Android开发至今,一提及Android开发中使用的对话框就想起AlertDialog或者PopupWindow,我在上一篇博客中也总结了这两种对话框的使用大全,有兴趣的可靠look look Android 对话框AlertDialog,PopupWindow使用大全。由于最近在总结Android对话框的使用,就无意在网上看到Android3.0之后出现了一个新的对话框—-DialogFragment。

DialogFragment对话框出现的意义

为什么android系统有AlertDialog,PopupWindow对话框,基本满足客户需求,为啥还要跑出一个DialogFragment对话框呢?这就要从DialogFragment的优点说起了:

DialogFragment对话框的使用基础对话框

代码示例:package com.xjp.dialogfragment;import android.app.Fragment;import android.app.FragmentTransaction;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;public class MainActivity extends ActionBarActivity {onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void buttonClick(View view) {showDialog();}private void showDialog() {/*** 为了不重复显示dialog,在显示对话框之前移除正在显示的对话框。*/FragmentTransaction ft = getFragmentManager().beginTransaction();Fragment fragment = getFragmentManager().findFragmentByTag(“basicDialog”);if (null != fragment) {ft.remove(fragment);}/*** 0:默认样式* 1:无标题样式* 2:无边框样式* 3:不可输入,,不可获得焦点样式* 可根据参数不同执行测试这几种样式的对话框。*/BasicDialogFragment dialogFragment = BasicDialogFragment.newInstace(0);dialogFragment.show(ft, “basicDialog”);}}//DialogFragment代码:package com.xjp.dialogfragment;import android.app.DialogFragment;import android.os.Bundle;import android.support.annotation.Nullable;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;/** * Description:基础对话框 * User: xjp * Date: 2015/5/20 * Time: 8:44 */public class BasicDialogFragment extends DialogFragment {public static BasicDialogFragment newInstance(int style) {BasicDialogFragment dialogFragment = new BasicDialogFragment();Bundle bundle = new Bundle();bundle.putInt(“style”, style);dialogFragment.setArguments(bundle);return dialogFragment;}onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);int styleNum = getArguments().getInt(“style”, 0);int style = 0;switch (styleNum) {case 0:style = DialogFragment.STYLE_NORMAL;//默认样式break;case 1:style = DialogFragment.STYLE_NO_TITLE;//无标题样式break;case 2:style = DialogFragment.STYLE_NO_FRAME;//无边框样式break;case 3:style = DialogFragment.STYLE_NO_INPUT;//不可输入,不可获得焦点样式break;}setStyle(style, 0);//设置样式}View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {//getDialog().setTitle(“退出微信”);//添加标题//getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题View view = inflater.inflate(R.layout.fragent_basic_dialog, container);TextView title = (TextView) view.findViewById(R.id.title);title.setText(“微信退出”);TextView message = (TextView) view.findViewById(R.id.message);message.setText(“是否退出微信,退出微信之后不能受到消息。是否退出微信,退出微信之后不能受到消息。” +”是否退出微信,退出微信之后不能受到消息。是否退出微信,退出微信之后不能受到消息。” +”是否退出微信,退出微信之后不能受到消息。”);view.findViewById(R.id.no).setOnClickListener(new View.OnClickListener() {onClick(View v) {dismiss();}});view.findViewById(R.id.yes).setOnClickListener(new View.OnClickListener() {onClick(View v) {dismiss();}});return view;}}//布局代码:<?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:orientation=”vertical”><TextViewandroid:id=”@+id/title”android:layout_width=”wrap_content”android:layout_height=”wrap_content”android:layout_gravity=”center”android:text=”基础对话框”android:textColor=”#ff0000″ /><Viewandroid:layout_marginTop=”5dp”android:layout_width=”match_parent”android:layout_height=”2dp”android:background=”#ff009688″></View><TextViewandroid:id=”@+id/message”android:layout_width=”wrap_content”android:layout_height=”wrap_content”android:layout_gravity=”center”android:layout_marginTop=”10dp”android:text=”这是一个基础对话框测试用例,这是一个基础对话框测试用例,这是一个基础对话框测试用例,这是一个基础对话框测试用例,这是一个基础对话框测试用例,” /></LinearLayout>总结:AlertDialog对话框的使用去旅行不在于记忆,而在于当时的那份心情。

Android DialogFragment对话框

相关文章:

你感兴趣的文章:

标签云: