自定义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)显示由这个方法创建的视图

            }   

    });

}}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值