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) {
-
-
- getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
-
-
-
- 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;
- }
- }
- }
代码运行结果: