Android笔记---常用控件之对话框
2012-10-16 14:37
393 查看
Android笔记---常用控件之对话框
Android中实现对话框可以使用AlertDialog.Builder类,还可以通过自定义对话框。如果对话框设置了按钮,那么需要对其设置时间监听OnClickListener。一、自定义对话框
首先在布局中定义两个TextView和EditView控件,然后通过inflate方法来创建对话框。
dialog.xml布局如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <!-- android:gravity 设置文本位置,如设置成“center”,文本将居中显示。
android:textAppearance 设置文字外观。如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观, ?表示系统是否有这种外观,否则使用默认的外观。 可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/ textAppearanceLargeInverse/textAppearanceMedium/ textAppearanceMediumInverse/textAppearanceSmall/
textAppearanceSmallInverse --><TextView android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:text="@string/username" android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" /><EditText android:id="@+id/username" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:autoText="false"
android:capitalize="none" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /><TextView android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dip"
android:layout_marginRight="20dip" android:text="@string/password" android:gravity="left" android:textAppearance="?android:attr/textAppearanceMedium" /><EditText android:id="@+id/password" android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip" android:autoText="false" android:capitalize="none"
android:password="true" android:gravity="fill_horizontal" android:textAppearance="?android:attr/textAppearanceMedium" /></LinearLayout>
二、使用AlertDialog来创建对话框
使用AlertDialog创建对话框需要以下几个方法,完整实现过程如下。
□ setTitle(): 给对话框设置title
□ setIcon(): 给对话框设置图标
□ setMessage(): 给对话框设置提示信息
□ setItems(): 设置对话框要显示的一个list,一般用于显示几个命令时
□ setSingleChoiceItems(): 设置对话框来显示一个单选的list
□ setMultiChoiceItems(): 用来设置对话框显示一系列的复选框
□ setPositiveButton(): 给对话框添加“YES“按钮
□ setNegativeButton(): 给对话框添加”NO“按钮
Activity具体代码实现如下:
package com.hanfeng.google;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.app.ProgressDialog;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;public
class Activity01 extends Activity { ProgressDialog m_Dialog; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Dialog dialog = new
AlertDialog.Builder(Activity01.this) .setTitle("登录提示") //设置标题 .setMessage("登陆后才能继续") //设置内容 .setPositiveButton("确定", //设置确定按钮 new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated
method stub //点击确定按钮转向 LayoutInflater inflater = LayoutInflater.from(Activity01.this); //得到自定义对话框 final View DialogView = inflater.inflate(R.layout.dialog, null); //创建对话框 AlertDialog alertDialog = new AlertDialog.Builder(Activity01.this) .setTitle("登陆框") .setView(DialogView)
//设置自定义对话框样式 .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub //输入完成,点击确定登录 m_Dialog = ProgressDialog.show(Activity01.this, "请等待...", "系统正在登录...",true);
new Thread() { public void run(){ try { sleep(3000); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ //登录结束,取消m_Dialog对话框 m_Dialog.dismiss(); } } }.start(); } }).setNegativeButton("取消", new DialogInterface.OnClickListener()
{ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub //点击取消后推出Activity01 Activity01.this.finish(); } }).create();//创建 alertDialog.show(); } }).setNegativeButton("退出", new DialogInterface.OnClickListener()
{ @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub Activity01.this.finish(); } }).create();//创建按钮 //显示对话框 dialog.show(); }}
运行效果如下:
#Android
举报 浏览(145) 评论 转载
相关文章推荐
- Android 开发笔记4-- 常用控件
- [Android新手学习笔记24]-常用的UI控件的单位、属性
- 学习 Mars 老师 Android 开发视频教程笔记之01_06 Android 常用控件
- android笔记6-常用控件的介绍二
- Android笔记---常用控件以及用法
- [学习笔记]Android常用控件
- android菜鸟学习笔记12----Android控件(一) 几个常用的简单控件
- Android -- 对话框 Dialog: 确定取消,单选多选,进度显示, 常用控件示例:单选多选框,下拉列表,进度条,自动完成文本框, 菜单显示
- Android 常用控件(RadioButton、CheckBox)、.9图、Toast(吐司面包,提示)、时间日期对话框 二
- [APP] Android 开发笔记 004-Android常用基本控件使用说明
- Android 常用控件(三)学习笔记
- Android Material Design常用控件学习笔记
- android应用开发笔记---常用控件使用方法
- Android笔记---常用控件以及用法
- android 各种常用,不易记的dialog,对话框,等控件整理
- android应用开发笔记---常用控件RadioGroup和RadioButton及Toast
- Android常用控件之按钮选择器/九妹图,按钮点击事件+页面跳转+Toast,单选框.时间日期控件 /时间日期对话框
- Android常用控件-DatePicker以及对话框的两种使用方法
- Android常用控件-DatePicker以及对话框的两种使用方法
- android应用开发笔记---常用控件ProcessBar和ListView