Android中自定义Dialog样式

在Android开发中,经常需要在界面上弹出一些对话框,用来提示用户输入信息或者让用户做出选择,这就是Android中的对话框功能。

  那么如何来实现这些对话框功能呢?在Android中,对话框是使用Dialog类来实现。其中,Alertialog用于实现警告对话框;ProgressDialog用于实现带进度条的对话框;DatePickerDialog用于实现日期选择对话框;TimePickerDialog用于实现时间选择对话框。

今天我们就以登录界面为例实现一个简单的自定义AlertDialog对话框。先看效果图:

Android中自定义Dialog样式

在这个自定义的AlertDialog对话框中,我们加入了两个TextView控件(用来显示“帐号:”和“密码:”)以及两个EditText控件(用来输入“帐号”和“密码”)。

  那么如何将这些控件加入到自定义的AlertDialog对话框中呢?首先,我们需要创建一个xml布局文件来加载这些控件。这里,我创建了一个名为“logindialog.xml”的布局文件。在该布局文件中完成对上述四个控件的布局即可,具体的实现方法如下:


  
 
            android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"      >
     
                      android:id="@+id/text_username"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:gravity="left"
                      android:text="帐号:"
                      android:textColor="#FFFFFF"      >
     
                    android:id="@+id/edit_username"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:layout_marginRight="10dp"
                      android:gravity="left"
                      android:hint="请输入帐号"
                      android:inputType="none"
                      android:digits="abcdefghigklmnopqrstuvwx yz1234567890_"      >
     
                    android:id="@+id/text_password"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:gravity="left"
                      android:text="密码:"
                      android:textColor="#FFFFFF"      >
     
                    android:id="@+id/edit_password"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:layout_marginLeft="10dp"
                      android:layout_marginRight="10dp"
                      android:gravity="left"
                      android:hint="请输入密码"
                      android:inputType="textPassword"
                      android:digits="1234567890">

  
完成xml布局文件的编写之后,我们需要将该xml文件动态加载并转化为View对象,然后通过AlertDialog.Builder类的setView()方法将该View对象加载进来,就可以完成自定义AlertDialog对话框的创建了。具体的实现方法如下:

      publicLoginDialog (Context context) {
                     
              this.mContext = context;
                     
              //动态加载布局生成View对象
              LayoutInflater layoutInflater =LayoutInflater.from(mContext);
              View longinDialogView =layoutInflater.inflate(R.layout.logindialog, null);
                     
              //获取布局中的控件
              mUserName =(EditText)longinDialogView.findViewById(R.id.edit_username);
              mPassword =(EditText)longinDialogView.findViewById(R.id.edit_password);
                     
              //创建一个AlertDialog对话框
              longinDialog = new AlertDialog.Builder(mContext)
                      .setTitle("登录框")
                      .setView(longinDialogView)                              //加载自定义的对话框式样
                      .setPositiveButton("确定", this)
                      .setNeutralButton("取消", this)
                      .create(); 
                     
              longinDialog.show();
      }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值