剖析Android中 一个简单对话框
创始人
2024-07-30 20:20:40
0

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

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

Java代码:

  1.  
  2.  
  3. 普通对话框 
  4. 显示普通对话框 
  5. 普通对话框 
  6. 确定 
  7. 这是一个普通对话框 
  8.  

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

java代码:

  1.  
  2. android:orientation="vertical" 
  3. android:layout_width="fill_parent" 
  4. android:layout_height="wrap_content" 
  5. android:layout_width="fill_parent"   
  6. android:layout_height="wrap_content"   
  7. android:text="@string/message"/> 
  8. android:layout_width="fill_parent" 
  9. android:layout_height="wrap_content" 
  10. android:text="@string/button"/> 
  11.  

第三步:编写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实战系统对话框实现登陆注册功能

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...