AlertDialog
2016-03-30 21:40
169 查看
实验3对话框的使用
1、首先完成用户界面的设计,如下图所示(快速注册和忘记密码为两个TextView):
![](http://img.blog.csdn.net/20160330213838128?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图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的对话框(对话框中确定和取消按钮的事件暂不需处理):
![](http://img.blog.csdn.net/20160330213920363?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图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的状态):
![](http://img.blog.csdn.net/20160330213950378?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图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();
}
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();
}
相关文章推荐
- 自定义属性图片轮播实例
- 社交网络:有意义的不仅是邓巴数
- RossWeatherMap天气地图项目中踩的雷(一):Viewpager动态删除Fragment
- SPRING JMS 整合ACTIVEMQ
- UVA 11478 Halum 最小差分系统
- Xenomai 的模式切换浅析
- 通达OA在centos系统中快速部署文档(web和数据库)
- 推荐7个 CSS3 制作的创意下拉菜单效果
- java设置classpath,path和java_home的作用
- 数据结构一顺序表
- C++调错技巧
- android插上耳机仍用扬声器播放音频【新浪云搬运】
- Struts2框架提供的结果类型
- bat函数处理变量空格
- iOS开发之KVO机制
- 通达OA在centos系统中快速部署文档(web和数据库)
- iOS设计中在视图中显示滚动汉字
- VK Cup 2016 - Round 1 (Div. 2 Edition) B B. Bear and Displayed Friends 优先队列
- 四舍五入的四种方法
- 2016年3月英语总结