剖析Android中 一个简单对话框

移动开发 Android
对于windows来说,对话框是一种次要窗口,包含按钮和各种选项,通过它们可以完成特定命令或任务。 查找和替换对话框 对话框与窗口有区别,它没有最大化按钮、没有最小化按钮、大都不能改变形状大小。本文讲述的是关于android。

 一个简单讲述对话框的Android实例,剖析其中的原理,下文直接是代码。

***步:先配置项目中的res文件夹中values/strings.xml

Java代码:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <resources> 
  3. <string name="app_name">普通对话框</string> 
  4. <string name="button">显示普通对话框</string> 
  5. <string name="title">普通对话框</string> 
  6. <string name="ok">确定</string> 
  7. <string name="message">这是一个普通对话框</string> 
  8. </resources> 

第二步:配置项目中的res文件夹中layout/main.xml 用来创建输入框和“显示普通对话框”按钮

java代码:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3. android:orientation="vertical" 
  4. android:layout_width="fill_parent" 
  5. android:layout_height="wrap_content" 
  6. > 
  7. <EditText android:id="@+id/editText" 
  8. android:layout_width="fill_parent"   
  9. android:layout_height="wrap_content"   
  10. android:text="@string/message"/> 
  11. <Button android:id="@+id/button" 
  12. android:layout_width="fill_parent" 
  13. android:layout_height="wrap_content" 
  14. android:text="@string/button"/> 
  15. </LinearLayout> 

第三步:编写src文件夹包底下的.java文件

java代码:

  1. package eoe.demo;  
  2. import android.app.Activity;  
  3. import android.app.AlertDialog;  
  4. import android.app.AlertDialog.Builder;  
  5. import android.app.Dialog;  
  6. import android.content.DialogInterface;  
  7. import android.os.Bundle;  
  8. import android.util.Log;  
  9. import android.view.View;  
  10. import android.widget.Button;  
  11. import android.widget.EditText;  
  12. public class CommonDialogActivity extends Activity {  
  13. protected static final int COMMON_DIALOG = 1;  
  14. /** Called when the activity is first created. */  
  15. @Override  
  16. public void onCreate(Bundle savedInstanceState) {  
  17. super.onCreate(savedInstanceState);  
  18. setContentView(R.layout.main);  
  19. Button button= (Button)findViewById(R.id.button);  
  20. View.OnClickListener listener = new View.OnClickListener() {  
  21. public void onClick(View arg0) {  
  22. // TODO Auto-generated method stub  
  23. showDialog(COMMON_DIALOG);  
  24. }  
  25. };  
  26. button.setOnClickListener(listener);  
  27. }  
  28. /*   
  29. * 使用onCreateDialog(int)来管理对话框的状态,   
  30. * 那么每次对话框被解除时,   
  31. * 该对话框对象的状态会被Activity保存. 调用   
  32. * removeDialog(int)将所有该对象的内部引用   
  33. * 移除 如本程序那样,如果不加removeDialog,   
  34. * 那么显示的是***次的内容   
  35. */  
  36. protected Dialog onCreateDialog(int id){  
  37. AlertDialog dialog=null;  
  38. EditText editText = (EditText) findViewById(R.id.editText);  
  39. switch(id){  
  40. case COMMON_DIALOG:  
  41. Builder builder = new AlertDialog.Builder(this);  
  42. builder.setIcon(R.drawable.icon);  
  43. builder.setMessage(editText.getText());  
  44. builder.setTitle(R.string.title);  
  45. DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {  
  46. public void onClick(DialogInterface arg0, int arg1) {  
  47. // TODO Auto-generated method stub  
  48. removeDialog(COMMON_DIALOG);   
  49. }  
  50. };  
  51. builder.setPositiveButton(R.string.ok, listener);  
  52. dialog = builder.create();  
  53. break;  
  54. default:  
  55. break;  
  56. }  
  57. Log.e("onCreateDialog", "onCreateDialog");  
  58. return dialog;  
  59. }  

【编辑推荐】

Android布局属性详解

 Android 2.2系统的十个实用小技巧

谷歌Android UI设计技巧:优秀UI设计准则

谷歌Android UI设计技巧:图标与指导说明

Android实战系统对话框实现登陆注册功能

 

责任编辑:zhaolei 来源: 网络转载
相关推荐

2011-07-01 11:33:00

Qt 模态 非模态

2010-08-05 10:42:41

Android开发Android高级编程

2010-01-28 16:55:26

Android对话框

2012-12-03 10:47:54

WebJQuery控件

2011-05-31 10:26:37

Android 对话框

2011-07-21 15:50:42

jQuery Mobi页面对话框

2022-03-02 15:47:57

Dialog组件UI设计鸿蒙

2009-12-11 15:35:50

PHP弹出对话框

2009-12-28 14:32:31

WPF窗体对话框

2009-12-28 13:47:35

WPF对话框

2009-11-03 09:21:26

Visual Stud

2019-01-09 11:30:07

Windows10空白对话框命令

2011-05-20 16:49:21

VB.NET

2011-07-22 15:32:53

iPhone 按钮 对话框

2010-01-11 09:33:32

VB.NET对话框调用

2011-11-23 09:47:36

Winform

2009-12-29 15:24:48

WPF对话框

2013-12-27 14:10:36

Android开发Android应用Transform

2010-01-22 16:27:19

VB.NET关于对话框

2013-11-07 10:25:12

Windows 8.1BUG
点赞
收藏

51CTO技术栈公众号