您的位置:首页 > 其它

AlertDialog

2016-03-30 21:40 169 查看
实验3对话框的使用
1、首先完成用户界面的设计,如下图所示(快速注册和忘记密码为两个TextView):



图1
<?xml version="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.26" >

<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="29dp"
android:layout_marginTop="38dp"
android:src="@drawable/qq" />

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_alignParentRight="true"
android:layout_toRightOf="@+id/textView1"
android:ems="10"
android:inputType="textPersonName" />

<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/imageView1"
android:layout_alignLeft="@+id/editText1"
android:ems="10"
android:inputType="textPassword" >

<requestFocus />
</EditText>

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/editText2"
android:layout_centerHorizontal="true"
android:text="用户名" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editText2"
android:layout_alignBottom="@+id/editText2"
android:layout_alignLeft="@+id/textView1"
android:text="密码" />

<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/imageView1"
android:layout_marginLeft="20dp">
</RelativeLayout>

<CheckBox
android:id="@+id/checkBox1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:layout_marginTop="28dp"
android:layout_toLeftOf="@+id/textView2"
android:text="记住密码" />

<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/checkBox1"
android:layout_alignBottom="@+id/checkBox1"
android:layout_marginTop="28dp"
android:layout_toRightOf="@+id/textView2"
android:text="自动登录" />

<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button4"
android:layout_alignBottom="@+id/button4"
android:layout_toRightOf="@+id/textView1"
android:text="忘记密码" />

<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/checkBox1"
android:layout_below="@+id/checkBox1"
android:text="快速注册"
android:onClick="clickhandler"
/>

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/button3"
android:layout_alignRight="@+id/button3"
android:layout_below="@+id/button3"
android:layout_marginTop="15dp"
android:text="注册账号" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/button2"
android:layout_alignBottom="@+id/button2"
android:layout_alignLeft="@+id/button4"
android:layout_alignRight="@+id/button4"
android:text="登录" />
</RelativeLayout>
</LinearLayout>
2、用户单击图1中的TextView“快速注册”,弹出如图2的对话框(对话框中确定和取消按钮的事件暂不需处理):



图2
(1)创建一个布局:
<?xml version="1.0"encoding="utf-8"?>
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
android:
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView1"
android:layout_below="@+id/textView1"
android:layout_marginTop="46dp"
android:text="密码" />
<EditText
android:id="@+id/upassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_alignParentRight="true"
android:ems="10"
android:inputType="numberPassword" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/uemail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/textView1"
android:ems="10"
android:inputType="textEmailAddress" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="35dp"
android:layout_marginTop="27dp"
android:text="邮箱" />
</RelativeLayout>
(2)弹出自定义消息框
publicvoid clickhandler(View view){
LayoutInflaterlayoutInflater = LayoutInflater.from(this);
View longinDialogView =layoutInflater.inflate(R.layout.regist, null);
AlertDialog.Builderbuilder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.hat);
builder.setTitle("快速注册");
builder.setView(longinDialogView);
//为对话框添加确定按钮
setPositiveButton(builder);
//为对话框添加取消按钮
setNegativeButton(builder,view);//
builder.create();
builder.show();
}
3、用户单击图1中的 “退出”按钮,弹出如图3的对话框(点击对话框上的“确定”按钮退出当前程序,点击对话框上的“取消”返回图1的状态):



图3
自定义消息框:

public void clickhandlerT(View view){

AlertDialog.Builderbuilder = new AlertDialog.Builder(this);

builder.setIcon(R.drawable.alert);

builder.setTitle("退出?");

builder.setMessage("你确定要退出么?");

//为对话框添加确定按钮

setPositiveButton(builder);

//为对话框添加取消按钮

setNegativeButton(builder,view);

builder.create();

builder.show();

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