`
simonhoo
  • 浏览: 70418 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android应用开发UI(登录对话框)

阅读更多

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(){
				@Override
				public 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(){
						@Override
						public 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(){	
						@Override
						public void onClick(DialogInterface dialog, int which) {
							A012Activity.this.finish();
						}
					})
					.create();
					dlg.show();
				}
        	}).setNeutralButton(getResources().getString(R.string.exit), new DialogInterface.OnClickListener(){
				@Override
				public void onClick(DialogInterface dialog, int which) {
					A012Activity.this.finish();
				}
			}).create();
        dialog.show();
    }
}

 

  • 大小: 73.9 KB
  • 大小: 80.2 KB
0
0
分享到:
评论

相关推荐

    Android应用源码之进度条对话框Dem-IT计算机-毕业设计.zip

    在Android应用开发中,进度条对话框(ProgressDialog)是一种常见的用户界面组件,它允许开发者向用户展示一个等待或加载过程,提升用户体验。本项目“Android应用源码之进度条对话框Demo”是针对IT计算机专业学生的...

    Android应用源码之进度条对话框Dem.zip

    通过深入研究"Android应用源码之进度条对话框Dem.zip",开发者不仅可以学会如何在实际项目中使用ProgressDialog,还能提升对Android应用程序开发的整体理解,特别是在处理UI更新和异步任务方面。同时,源码分析也是...

    Android应用源码所有Dialog对话框.zip

    在Android应用开发中,对话框(Dialog)是一种重要的用户界面组件,它用于向用户显示临时信息或进行交互操作。在给定的“Android应用源码所有Dialog对话框.zip”压缩包中,包含了多种类型的Dialog实现,是学习和理解...

    Android应用开发案例教程 (毋建军、徐振东、林瀚 编著) pdf

    《高等学校计算机科学与技术项目驱动案例实践规划教材:Android应用开发案例教程》应用“项目驱动(Project-Driven)”最新教学模式,通过完整的项目案例系统地介绍了使用Android技术设计与开发应用系统的理论和方法...

    Android应用源码之android 自定义对话框.zip

    本压缩包中的资源提供了关于如何在Android应用中实现自定义对话框的源码示例。 首先,"JavaApk源码说明.txt"可能包含对整个源码结构和使用方法的简要介绍。这份文档通常会解释各个类的作用,以及如何编译和运行项目...

    Android应用源码之进度条对话框Demo源码.zip

    这个"Android应用源码之进度条对话框Demo源码.zip"压缩包提供了一个示例,展示了如何在Android应用中集成和使用进度条对话框。 首先,我们来理解进度条对话框的基本概念。ProgressDialog是Android SDK提供的一个...

    Android应用源码之进度条对话框Demo源码-IT计算机-毕业设计.zip

    在Android应用开发中,进度条对话框(ProgressDialog)是一种常见的用户界面组件,它允许开发者向用户展示一个等待或加载过程,提升用户体验。本项目“Android应用源码之进度条对话框Demo源码”是一个适用于毕业设计...

    Android应用源码之进度条对话框Demo源码.rar

    这个"Android应用源码之进度条对话框Demo源码.rar"压缩包提供了一个实例,帮助开发者理解如何在自己的应用程序中实现这种功能。下面将详细解释该Demo中的关键知识点。 1. **ProgressDialog的使用**: ...

    Android很好用的确认对话框(DialogFragment)

    在Android开发中,`DialogFragment`是一个非常实用的组件,它允许我们在应用程序中展示各种对话框,如警告、确认或信息提示。`DialogFragment`继承自`Fragment`,因此它具有与Fragment相同的生命週期,并且可以更好...

    Android应用开发完全自学手册

    《Android应用开发完全自学手册》是一本全面介绍Android应用开发的指南,涵盖了从基础到进阶的各个环节。这本书旨在帮助初学者系统地学习并掌握Android应用的开发技能,通过源代码解析来提升实践能力。 第1章:...

    安卓Android源码——ui开发类库示例源码.zip

    6. **DialogFragment**:对话框在Android应用中广泛应用,DialogFragment是Android官方推荐的方式,它继承自Fragment,可以方便地管理和控制对话框的显示与消失。 7. **动画(Animation)**:Android支持属性动画...

    android手机应用源码进度条对话框Demo.rar

    这个"android手机应用源码进度条对话框Demo"是一个示例项目,它展示了如何在Android应用程序中实现和使用进度条对话框。以下是对这个Demo的详细解析: 1. **ProgressDialog的使用**: - ProgressDialog是Android ...

    Android 对话框 (一) 管理对话框

    在Android开发中,对话框(Dialog)是一种常见的用户交互组件,用于向用户显示临时信息或者进行简单的交互操作。本文将深入探讨如何管理和使用Android对话框,主要包括其基本概念、创建方式、自定义以及最佳实践。 ...

    Android应用开发案例教程

    《Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)》编著者毋建军、徐振东、林瀚。, 《Android应用开发案例教程(高等学校计算机科学与技术项目驱动案例实践规划教材)》应用“项目驱动...

    安卓Android源码——android 自定义对话框.zip

    本资源"安卓Android源码——android 自定义对话框.zip"包含了实现自定义对话框的源代码,这对于理解和实践Android应用的界面定制具有重要意义。 首先,我们要理解Android系统提供的默认对话框类`AlertDialog`和`...

    Android例子源码自定义对话框

    总的来说,自定义对话框在Android应用开发中扮演着重要的角色,它允许开发者以独特的方式呈现信息和获取用户输入。通过深入理解并实践“Android例子源码自定义对话框”,开发者可以更好地理解和掌握Android UI设计的...

Global site tag (gtag.js) - Google Analytics