Android DialogFragment(1)

简介: Android DialogFragment(1)和过去的AlertDialog类似,Android引入的DialogFragment旨在为开发者提供一个“富”dialog,而不必受到过去Android AlertDialog的局限。
Android DialogFragment(1)

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

import android.app.Activity;
import android.app.DialogFragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Button button = (Button) findViewById(R.id.button);
		button.setOnClickListener(new View.OnClickListener() {

			@Override
			public void onClick(View v) {
				MyDialogFragment f = new MyDialogFragment();

				f.show(getFragmentManager(), "my tag");
			}
		});
	}

	private class MyDialogFragment extends DialogFragment {

		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

			// DialogFragment如同AlertDialog一样,这段代码将取消标题,创建一个单纯的Frame
			getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);

			// 以下是该Fragment里面的内容

			View view = inflater.inflate(android.R.layout.simple_list_item_2, container);
			TextView text1 = (TextView) view.findViewById(android.R.id.text1);
			TextView text2 = (TextView) view.findViewById(android.R.id.text2);
			text1.setText("zhangphil @csdn");
			text2.setText("http://blog.csdn.net/zhangphil");
			return view;
		}
	}
}




代码运行结果:




附录:
1,《Android Material Design Dialog》链接地址:http://blog.csdn.net/zhangphil/article/details/48895503
相关文章
|
XML Android开发 数据格式
Android面试题之DialogFragment中隐藏导航栏
在Android中展示全屏`DialogFragment`并隐藏状态栏和导航栏,可通过设置系统UI标志实现。 记得在布局文件中添加内容,并使用`show()`方法显示`DialogFragment`。
204 2
|
Android开发
关于安卓DialogFragment使用(三)
关于安卓DialogFragment使用(三)
458 0
|
Android开发
Android DialogFragment 的封装
Android DialogFragment 的封装
Android DialogFragment 的封装
|
Android开发
关于安卓底部dialogfragment封装
关于安卓底部dialogfragment封装
509 0
|
Android开发
关于安卓DialogFragment基类封装
安卓DialogFragment基类封装
245 0
|
Android开发 容器
Android开发 - 解决DialogFragment在全屏时View被状态栏遮住的问题
我的上一篇文章:设置DialogFragment全屏显示 可以设置对话框的内容全屏显示,但是存在在某些机型上顶部的View被状态栏遮住的问题。经过测试,发现了一种解决办法,在DialogFragment的onCreateView()中添加一个布局监听器: @Override public View.
2611 0
|
Android开发 uml 容器
Android基于DialogFragment封装一个通用的Dialog
1、内置Dialog常用默认的样式,内置样式可自行修改 2、支持自定义复杂的布局、动画、对话框大小、背景色等设 3、统一管理多个dialog并顺序弹出
6237 0
|
Android开发 容器
Android中DialogFragment优于Dialog
首先DialogFragment是跟随Fragment一起被Google推出的,DialogFragment是基于Fragment的,生命周期和Fragment是一样的。
1367 0

热门文章

最新文章