转载请注明出处:http://blog.csdn.net/zhangphil
Android DialogFragment(1) 和过去的AlertDialog类似,Android引入的DialogFragment旨在为开发者提供一个“富”dialog,而不必受到过去Android AlertDialog的局限。首先,DialogFragment是一个Fragment,它有Fragment的一切属性和生命周期,其次,DialogFragment具有和AlertDialog相类似的Dialog呈现形式。现在我写一个例子加以说明。 本例简单的以一个按钮启动弹出一个DialogFragment。当点击Button按钮后,弹出一个Android DialogFragment。 Java代码: [java] view plain copy 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; } } } 代码运行结果: