码迷,mamicode.com
首页 > 其他好文 > 详细

自定义控件(二)自定义Dialog

时间:2015-07-27 23:01:59      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:自定义dialog

本节要实现:自定义一个Dialog
结果如下:
技术分享

步 骤
1.配置register_dialog.xml
下面是一个自定义的dialog。
功能是:点击dialog所依附的activity上的“注册”按钮,弹出此对话框。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#fff" >
    <TextView 
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_marginTop="20dp"
        android:text="确认手机号码"
        android:textColor="#000"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_marginTop="30dp"
        android:text="我们将发送验证码短信到这个号码:\n+86 XXXXXXXXXXX"
        android:textColor="#000"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="40dp"
        android:orientation="horizontal"
         >
         <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="35dp"
            android:layout_weight="1"
            android:gravity="center"
             >
            <Button
                android:id="@+id/register_dialog_ok_btn"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:background="#0066cc"
                android:gravity="center"
                android:text="确定"
                android:textColor="#fff"/>
         </LinearLayout>
         <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="35dp"
            android:layout_weight="1"
            android:gravity="center"
             >
            <Button
                android:id="@+id/register_dialog_cancel_btn"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:background="#0066cc"
                android:gravity="center"
                android:text="取消"
                android:textColor="#fff"/>
         </LinearLayout>
    </LinearLayout>
</LinearLayout>

2.Java代码示例
(这里只贴出和对话框有关的代码,即一个处理自定义Dialog的方法)

//此方法用于处理自定义对话框
        private void processCustomDialog(AlertDialog.Builder builder){
            LayoutInflater inflater=getLayoutInflater();
            final View view=inflater.inflate(R.layout.register_dialog, null);//获取自定义对话框资源
            //获取自定义dialog下的确定和取消按钮资源
            Button okBtnInDialog=(Button)view.findViewById(R.id.register_dialog_ok_btn);
            Button cancelBtnInDialog=(Button)view.findViewById(R.id.register_dialog_cancel_btn);

            builder.setIcon(R.drawable.icon);
            builder.setView(view);
            builder.create();
            builder.show();

            /**
             * 下面为自定义dialog下的确定和取消按钮设置点击事件
             */
            okBtnInDialog.setOnClickListener(new android.view.View.OnClickListener() {//下面为自定义dialog下的确定按钮设置点击事件

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    Intent intent = new Intent();
                    intent.setClass(Register.this,Vertify.class);
                    startActivity(intent);
                    MyThread thread = new MyThread();
                    thread.start();
                }
            });
            cancelBtnInDialog.setOnClickListener(new android.view.View.OnClickListener() {//下面为自定义dialog下的取消按钮设置点击事件

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub

                }
            });

        }

值得注意的是:在获取Dialog上的button等资源时,使用的是view.findViewById(R.id.button)。这才表明你是在对话框View中寻找资源。倘若直接用findViewById(R.id.button),表明在此activity里找资源ID,能找到才怪!

版权声明:本文为博主原创文章,未经博主允许不得转载。

自定义控件(二)自定义Dialog

标签:自定义dialog

原文地址:http://blog.csdn.net/qq_16912257/article/details/47091793

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!