Android在前端的设计中,有些时候我们需要提交一些数据或表单的时候,由于数据量不是很大,我们没有必要创建一个全新的Activity来提交很少的数据,这样会显得很单调,也浪费资源,其实不只是Android中这样,网页设计也会大量利用弹窗式对话框来提交一些数据。这个时候我们就可以使用自定义的AlertDialog。
1、创建AlertDialog显示所需要的布局文件。这里是一个修改密码的布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="80dip"
android:layout_marginStart="20dip"
android:layout_marginLeft="20dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="密 码:"
/>
<EditText
android:layout_width="220dp"
android:inputType="textPassword"
android:layout_height="wrap_content"
android:id="@+id/secret"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="20dip"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="确认密码:"
android:layout_marginStart="20dip"
android:layout_marginLeft="20dip"
/>
<EditText
android:layout_width="220dp"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:id="@+id/confirmSecret" />
</LinearLayout>
</LinearLayout>
2、使用该布局文件并创建AlertDialog:
//定义一个自定义对话框
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("设置密码");//设置标题
View view = LayoutInflater.from(this).inflate(R.layout.activity_set_secret,null);//获得布局信息
final EditText secret = (EditText) view.findViewById(R.id.secret);
final EditText confirmSecret = (EditText) view.findViewById(R.id.confirmSecret);
builder.setView(view);//给对话框设置布局
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//点击确定按钮的操作
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
builder.show();
本文介绍了在Android开发中,如何通过自定义AlertDialog来实现数据或表单的提交,避免了为少量数据创建新Activity的冗余,提高了用户体验。详细讲解了创建显示所需布局文件以及使用该布局创建弹窗对话框的步骤。

454

被折叠的 条评论
为什么被折叠?



