您的位置:首页 > 移动开发 > Android开发

Android 自定义AlertDialog提交表单

2016-04-14 13:37 459 查看
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();

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息