自定义Dialog

 

1.       自定义布局文件

<?xml version="1.0" encoding="utf-8"?>

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:orientation="vertical">

 

    <TextView

        android:id="@+id/username"

        android:layout_height="wrap_content"

        android:layout_width="wrap_content"       

        android:text="@string/dialog_username" />

           

    <EditText

        android:id="@+id/username_edit"

        android:layout_height="wrap_content"

        android:layout_width="fill_parent" />

 

    <TextView

        android:id="@+id/password"

        android:layout_height="wrap_content"

        android:layout_width="wrap_content"

        android:text="@string/dialog_password" />

           

    <EditText

        android:id="@+id/password_edit"

        android:layout_height="wrap_content"

        android:layout_width="fill_parent"

        android:password="true" />

       

</LinearLayout>


2.       activity 中通过 LayoutInflater 的对象,填充上面那个 xml 的布局文件生成 View

LayoutInflater dialoglayout = LayoutInflater.from(this);

  final View textEntryView = dialoglayout.inflate(R.layout.dialog, null);


3. onCreateDialog 中通过 setview 设置视图

public class dialog extends Activity{

    /** Called when the activity is first created. */

   

         @Override

         protected Dialog onCreateDialog(int id) {

      LayoutInflater dialoglayout = LayoutInflater.from(this);

      final View textEntryView = dialoglayout.inflate(R.layout.dialog, null);

      return new AlertDialog.Builder(dialog.this)

        .setIcon(R.drawable.dialog_icon)

        .setTitle(R.string.dialog_text)

        .setView(textEntryView)

          

         .setPositiveButton(R.string.dialog_ok, new DialogInterface.OnClickListener() {

               public void onClick(DialogInterface dialog, int whichButton) {    

            }

        })

        .setNegativeButton(R.string.dialog_cancel, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int whichButton) {

            }

        })

        .create();

         }

        

         @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

 

        setContentView(R.layout.main);

       

        Button textEntry = (Button) findViewById(R.id.dialog_button);

        textEntry.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {

                showDialog(0);//onCreateDialog(int id)显示由这个方法创建的视图

            }   

    });

}}

 

posted on 2011-06-28 15:22  android开发实例  阅读(179)  评论(0编辑  收藏  举报

导航