本文演示如何开发按BACK弹出退出游戏的Dialog对话框。
自定义Dialog需要一个Style文件,Layout文件。
style文件用来设置对话框的样式(主题)。
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="DialogExit" parent="@android:Theme.Dialog"> <item name="android:windowFrame">@null</item> <!--是否有标题--> <item name="android:windowNoTitle">true</item> <!--对话框是否浮动--><!-- 如果不是浮动,对话框就会变成全屏--> <item name="android:windowIsFloating">true</item> <!--对话框是否有遮盖--> <item name="android:windowContentOverlay">@null</item> <!--设置是否背景模糊--> <item name="android:backgroundDimEnabled">false</item> <!--背景灰度--> <item name="android:backgroundDimAmount">0.1</item> <!--此对话框的背景--> <item name="android:windowBackground">@drawable/rect</item> </style> </resources>
Layout文件用来设置对话框的按钮文字等信息
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="top" > <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:padding="5dip" > <TextView android:id="@+id/dialog_eixt_message" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="5dip" android:text="消息" android:textColor="#FFFFFF" /> <TableRow android:id="@+id/dialog_eixt_tablerow" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/dialog_eixt_message" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:gravity="center_horizontal"> <Button android:id="@+id/dialog_eixt_okbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="确定" android:textColor="#ffffff" android:textSize="15sp" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="5dip" android:paddingBottom="5dip"/> <Button android:layout_marginLeft="25dip" android:id="@+id/dialog_eixt_cancelbutton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button" android:text="取消" android:textColor="#ffffff" android:textSize="15sp" android:paddingLeft="10dip" android:paddingRight="10dip" android:paddingTop="5dip" android:paddingBottom="5dip" /> </TableRow> </RelativeLayout> </RelativeLayout>
接下来就是在代码中的运用!
新建一个类,继承DIalog,然后对文字信息进行修改,以及监听按钮之后的处理
package com.imf.view.util; import com.imf.R; import android.app.Dialog; import android.content.Context; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; /** * 退出游戏对话框 */ public class DialogExit extends Dialog { Context context; public DialogExit(Context context) { super(context); // TODO Auto-generated constructor stub this.context = context; } public DialogExit(Context context, int theme){ super(context, theme); this.context = context; } @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //加载layout布局文件 this.setContentView(R.layout.dialog_exit); TextView info = (TextView) findViewById(R.id.dialog_eixt_message); info.setText("您确定退出游戏?"); Button btnok = (Button) findViewById(R.id.dialog_eixt_okbutton); btnok.setOnClickListener(new Button.OnClickListener() { public void onClick(View view) { //关闭进程,就是关闭游戏。 android.os.Process.killProcess(android.os.Process.myPid()); } }); Button btnexit = (Button) findViewById(R.id.dialog_eixt_cancelbutton); btnexit.setOnClickListener(new Button.OnClickListener() { public void onClick(View view) { //如果按的是取消,那么就dismiss(); dismiss(); } }); } }
在某Activity上面监听按下back键,进行处理
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if (keyCode == KeyEvent.KEYCODE_BACK) { //在这里设置style主题文件。 DialogExit dialog = new DialogExit(MainActivity.this, R.style.DialogExit); dialog.show(); return true; } return super.onKeyDown(keyCode, event); }
相关推荐
在Android开发中,Dialog是一种常见的用户交互界面,用于在主线程中显示临时信息或进行简单的用户操作。...在实际开发中,根据用户界面设计和用户体验的考虑,灵活运用这些方法能让你的Dialog更具特色。
在Android开发中,Dialog是一种常见的用户交互界面...在实际开发中,合理地运用Dialog和PopWindow可以提高应用的用户交互性和易用性。同时,自定义它们可以进一步提升应用的视觉一致性,为用户提供更加舒适的操作体验。
总的来说,Dialog和Fragment都是Android开发中的强大工具,合理运用它们可以提升应用的用户体验和代码质量。掌握这两者,开发者就能更自如地应对各种UI需求和交互场景。在实际项目中,需要根据具体需求灵活选择和...
在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示警告、确认信息或提供交互选项。"Android Dialog 大合集"可能包含了各种类型的Dialog实现,以及相关...
在Android开发中,Dialog是一种非常常见的用户界面组件,用于向用户展示临时信息或者进行简单的交互。本篇文章将详细探讨如何实现Android Dialog的显示位置控制、弹出效果定制、返回键处理以及外部点击事件的管理。 ...
在Android开发中,Dialog是一个非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示信息、询问确认或进行交互。本篇将深入探讨Android Dialog的相关知识点,并结合标签“源码”和...
本篇内容将深入探讨`Dialog`在Android中的多种实现方式及其应用,以帮助开发者更好地理解和运用。 1. **基本对话框** Android中最基础的`Dialog`类型是`AlertDialog`,它通常包含一个标题、一个消息和一组按钮。...
在Android开发中,Dialog是...理解并熟练运用Dialog,对于提升用户体验和优化应用程序至关重要。在实际开发中,根据项目需求选择合适的Dialog类型,并利用Builder模式进行个性化定制,是每个Android开发者必备的技能。
在Android开发中,Dialog是一种非常重要的用户界面组件,它用于在主界面之上显示临时的通知或交互窗口。在Eclipse环境中,Android...同时,别忘了根据项目需求灵活运用和自定义Dialog,使其更符合应用的设计风格。
在实际开发中,合理运用这些Dialog可以极大地提高用户体验,使应用更具吸引力。通过研究“Android Dialog 大集合”,开发者不仅可以掌握Dialog的基本使用,还能了解如何根据应用场景进行个性化设计,从而提升应用的...
每种Dialog的使用都需要考虑用户体验,合理运用能够提高应用的交互性和易用性。在实际开发中,可以根据需求选择合适的Dialog类型,并自定义其样式和行为,以满足特定场景的需求。同时,注意处理Dialog的生命周期,...
在Android开发中,对话框...总之,Android Dialog是提高用户体验的关键工具,合理运用各种类型的Dialog可以为用户提供更加直观、友好的交互体验。在设计和实现时,不仅要考虑功能需求,还要注重界面美观和用户体验。
在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时信息或者接收用户的输入。在给定的“Android之对话框Dialog(博客源码)”资源中,我们可以学习到如何在Android应用中实现三种...
在Android开发中,自定义Dialog是一种常见的用户交互方式,它能提供更为丰富的界面展示和定制化功能。本文将深入探讨如何通过自定义Dialog来...通过实践和学习,你将能够熟练地运用这些技巧,提升你的Android开发技能。
在Android开发中,Dialog是一种非常常见的用户交互组件,它用于在主界面之上显示临时的通知或进行简单的用户交互。自定义Dialog则可以根据应用的特定需求,打造出具有独特样式和功能的对话框,提升用户体验。本篇...
在Android开发中,Dialog对话框是一种非常常见的组件,它用于在主线程中向用户展示一些...通过分析和学习“Android dialog对话框用法实例.rar”中的代码,开发者可以深入理解Dialog的工作原理,从而在项目中灵活运用。
在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面中显示临时信息或与用户进行交互。Dialog通常不会占据整个屏幕,而是悬浮在主活动之上,提供了一种优雅的方式来提醒用户或者请求用户做出选择。在...
在Android开发中,Dialog是一种非常重要的用户界面组件,它用于在主界面之上显示临时的通知或交互窗口,以向用户展示信息、...在实际开发中,根据应用场景灵活运用这些Dialog,可以提升用户体验,使应用更具吸引力。
在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面之上显示临时的窗口,通常用来提示用户一些信息或者请求用户的确认操作。本篇将详细讲解如何在Android中使用AlertDialog,以及相关的知识点。 首先...
在Android开发中,Dialog是一种非常重要的组件,它用于在用户界面中显示临时的、轻量级的窗口,通常用于向用户展示警告、...通过深入学习和实践这些内容,开发者能够更好地掌握如何在Android应用中灵活运用Dialog组件。