Android实现对话框可以使用AlertDialog.Builder类,还可以自定义对话框。如果对话框有button.需要对其设置监听事件OnClickListener.

AlertDialog创建对话框有以下几个常用方法:

setTitle();//给对话框设置title;

setIcon();//给对话框设置图标;

setMessage();//设置对话框的提示信息;

setItems();//设置对话框要显示的一个List,一般用于显示几个命令时。

setSingleChoiceItems();//设置对话框显示一个单选的List

setMultiChoiceItems();//设置对话框显示一系统的复选框;

setPositiveButton();//给对话框添加"Yes"按钮;

setNegativeButton();//给对话框添加"No"按钮。

效果图:





代码:

1.res/values/string.xml

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="hello">这里演示的是登录对话框,详细可登录http://www.80080088.com了解!</string>    <string name="app_name">登录对话框</string>    <string name="accountid">帐号:</string>    <string name="password">密码:</string>    <string name="login_title">登录提示</string>    <string name="here_must_login">这里需要登录!</string>    <string name="ok">确定</string>    <string name="no">取消</string>    <string name="exit">退出</string>    <string name="login_tile">登录框</string>    <string name="pls_waiting">请等侯...</string>    <string name="logining">正在为你登录...</string>    </resources>

2.res/layout/main.xml和login_dialog.xml

main.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"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /></LinearLayout>

login_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="wrap_content"    ><TextView  android:id="@+id/username"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_marginLeft="20dip"    android:layout_marginRight="20dip"    android:text="@string/accountid"    android:gravity="left"    android:textAppearance="?android:attr/textAppearanceMedium">    </TextView>    <EditText android:id="@+id/username"android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_marginLeft="20dip"    android:layout_marginRight="20dip"    android:autoText="false"    android:capitalize="none"    android:gravity="fill_horizontal"android:textAppearance="?android:attr/textAppearanceMedium"></EditText><TextView  android:id="@+id/username"    android:layout_width="fill_parent"     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">    </TextView>        <EditText android:id="@+id/password"android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_marginLeft="20dip"    android:layout_marginRight="20dip"    android:autoText="false"    android:capitalize="none"    android:gravity="fill_horizontal"    android:password="true"android:textAppearance="?android:attr/textAppearanceMedium"></EditText></LinearLayout>

3.Activity类

package com.cottsoft.android;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 A012Activity extends Activity {private 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(A012Activity.this)        .setTitle(getResources().getString(R.string.login_title))        .setMessage(getResources().getString(R.string.here_must_login))        .setPositiveButton(getResources().getString(R.string.ok),new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {LayoutInflater factory = LayoutInflater.from(A012Activity.this);final View DialogView = factory.inflate(R.layout.login_dialog, null);AlertDialog dlg = new AlertDialog.Builder(A012Activity.this).setTitle(getResources().getString(R.string.login_title)).setView(DialogView).setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {m_Dialog = ProgressDialog.show(A012Activity.this, getResources().getString(R.string.pls_waiting), getResources().getString(R.string.logining),true);new Thread(){public void run(){try{}catch(Exception ex){ex.printStackTrace();}finally{m_Dialog.dismiss();}}}.start();}}).setNegativeButton(getResources().getString(R.string.no), new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {A012Activity.this.finish();}}).create();dlg.show();}        }).setNeutralButton(getResources().getString(R.string.exit), new DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface dialog, int which) {A012Activity.this.finish();}}).create();        dialog.show();    }}

更多相关文章

  1. android实现对导航Tab设置下划线选中效果
  2. EditText属性大全详解
  3. Android布局管理器-使用FrameLayout帧布局管理器显示层叠的正方
  4. Android中其中一个Activity可以对另一个Activity的xml文件中的Ed
  5. Android(安卓)带清空按钮的EditText
  6. Android全局捕获崩溃异常记录
  7. Android(安卓)TextView中文字设置超链接、颜色、字体
  8. Android(安卓)Studio 设置自动配置git忽略
  9. 利用 Android(安卓)Studio 和 Gradle 打包多版本APK

随机推荐

  1. Android(安卓)快捷方式
  2. android .9 图片的全能适配方法
  3. android仿苹果SwitchButton效果的实现
  4. Android(安卓)短信 彩信 wap push的接收
  5. Android(安卓)计算控件尺寸
  6. Android: 可以横向拖动的TabHost
  7. 简单播放系统提示音 android
  8. Android获取UTC时间的方式
  9. android 自定义 画板
  10. Android(安卓)调用浏览器,打开网页