前面介绍了弹出对话框的基本设置方法,今天再来说说通过直接加载页面到对话的设置方法:
1.创建一个需要引入到对话框中的页面 login.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/usernameText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="5dp"
android:text="账号"
android:textColor="#FFFFFF" />
<EditText
android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/passText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText1"
android:layout_marginTop="5dp"
android:text="密码"
android:textColor="#FFFFFF" />
<EditText
android:id="@+id/pass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="4dp"
android:ems="10"
android:inputType="textPassword" />
</LinearLayout>
2.通过页面LayoutInflater类加载指定页面,通过.setView加入指定页面
LayoutInflater inflater=LayoutInflater.from(MainActivity.this);
View addLayout =inflater.inflate(R.layout.login, null);
AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
dialog.setTitle("登录");
dialog.setIcon(R.drawable.ic_launcher);
dialog.setView(addLayout);
dialog.setPositiveButton("确定", null);
dialog.setNegativeButton("退出", null);
dialog.show();
最终效果是这样的