- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Android使用自定义alertdialog实现确认退出按钮由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
有时候我们需要在游戏或应用中用一些符合我们样式的提示框(alertdialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 。
先上效果图
下面是用到的背景图或按钮的图片 。
经过查找资料和参考了一下例子后才知道,要实现这种效果很简单.就是在设置alertdialog的contentview. 。
以下的代码是写在activity下的,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
public
boolean
onkeydown(
int
keycode, keyevent event) {
// 如果是返回键,直接返回到桌面
if
(keycode == keyevent.keycode_back || keycode == keyevent.keycode_home){
showexitgamealert();
}
return
super
.onkeydown(keycode, event);
}
private
void
showexitgamealert() {
final
alertdialog dlg =
new
alertdialog.builder(
this
).create();
dlg.show();
window window = dlg.getwindow();
// *** 主要就是在这里实现这种效果的.
// 设置窗口的内容页面,shrew_exit_dialog.xml文件中定义view内容
window.setcontentview(r.layout.shrew_exit_dialog);
// 为确认按钮添加事件,执行退出应用操作
imagebutton ok = (imagebutton) window.findviewbyid(r.id.btn_ok);
ok.setonclicklistener(
new
view.onclicklistener() {
public
void
onclick(view v) {
exitapp();
// 退出应用...
}
});
// 关闭alert对话框架
imagebutton cancel = (imagebutton) window.findviewbyid(r.id.btn_cancel);
cancel.setonclicklistener(
new
view.onclicklistener() {
public
void
onclick(view v) {
dlg.cancel();
}
});
}以下的是layout文件,定义了对话框中的背景与按钮.点击事件在activity中添加.
文件名为 : shrew_exit_dialog.xml
<?xml version=
"1.0"
encoding=
"utf-8"
?>
<relativelayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_height=
"wrap_content"
android:layout_width=
"wrap_content"
>
<!-- 退出游戏的背景图 -->
<imageview android:id=
"@+id/exitgamebackground"
android:layout_centerinparent=
"true"
android:layout_height=
"wrap_content"
android:layout_width=
"wrap_content"
android:src=
"@drawable/bg_exit_game"
/>
<!-- 确认按钮 -->
<imagebutton android:layout_alignbottom=
"@+id/exitgamebackground"
android:layout_alignleft=
"@+id/exitgamebackground"
android:layout_marginbottom=
"30dp"
android:layout_marginleft=
"35dp"
android:id=
"@+id/btn_ok"
android:layout_height=
"wrap_content"
android:layout_width=
"wrap_content"
android:background=
"@drawable/btn_ok"
/>
<!-- 取消按钮 -->
<imagebutton android:layout_alignbottom=
"@+id/exitgamebackground"
android:layout_alignright=
"@+id/exitgamebackground"
android:layout_marginbottom=
"30dp"
android:layout_marginright=
"35dp"
android:id=
"@+id/btn_cancel"
android:layout_height=
"wrap_content"
android:layout_width=
"wrap_content"
android:background=
"@drawable/btn_cancel"
/>
</relativelayout>就这样经过了以上几步,就可以实现自定义alertdialog的效果了. 用同样的思路可以实现其它更复杂的效果.
|
alertdialog实现确认退出按钮实例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package
com.example.alertdialog;
import
android.os.bundle;
import
android.app.activity;
import
android.app.alertdialog;
import
android.content.dialoginterface;
import
android.view.menu;
import
android.view.view;
import
android.widget.toast;
public
class
mainactivity
extends
activity {
@override
protected
void
oncreate(bundle savedinstancestate) {
super
.oncreate(savedinstancestate);
setcontentview(r.layout.activity_main);
}
//名字如果是onbackpressed,那就是按下手机返回键的效果,参数为空即可。
public
void
onbackpressed1(view v) {
new
alertdialog.builder(
this
).settitle(
"确认退出吗?"
)
.seticon(android.r.drawable.ic_dialog_info)
.setpositivebutton(
"确定"
,
new
dialoginterface.onclicklistener() {
@override
public
void
onclick(dialoginterface dialog,
int
which) {
// 点击“确认”后的操作
mainactivity.
this
.finish();
}
})
.setnegativebutton(
"返回"
,
new
dialoginterface.onclicklistener() {
@override
public
void
onclick(dialoginterface dialog,
int
which) {
// 点击“返回”后的操作,这里不设置没有任何操作
toast.maketext(mainactivity.
this
,
"你点击了返回键"
, toast.length_long).show();
}
}).show();
}
}
|
。
最后此篇关于Android使用自定义alertdialog实现确认退出按钮的文章就讲到这里了,如果你想了解更多关于Android使用自定义alertdialog实现确认退出按钮的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试在 AlertDialog 中创建一个 AlertDialog,但是当我运行代码时,没有出现第二个 AlertDialog 这是我的代码,我想让它像如果用户在第一个 AlertDialog
相关问题是here 制作android应用,我觉得我的代码不酷。 因为,每当需要对话框时我都会创建新的 AlderDialog.Builder 以防止出现此错误 “指定的子项已有父项。您必须先对子项的
我正在使用以下代码来创建警报对话框。 AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(thi
我正在尝试在警报对话框中添加一个警报对话框。但是看不到第二个警报对话框。请帮助我这是我显示的代码 AlertDialog alertDialog = new AlertDialog.Builder(m
为什么要使用 AlertDialog.Builder 类而不是 AlertDialog 直接可用的方法,例如,为什么使用 AlertDialog.Builder.setCancellable 而不是
假设您有一个带有两个按钮 A 和 B 的 AlertDialog。我发现在某些设备和某些版本的 android 上,如果您触摸对话框周围屏幕的任何区域,AlertDialog 消失。在其他设备上,您被
我目前正在使用需要使用大量 AlertDialogs 的应用程序。我目前在这里编写了一个基本的代码: protected void StopButton () { AlertDialog.Bu
我正在开发一个 Android 应用程序,并且我有一个 AlertDialog 子类。我想在对话框标题区域的右侧放置 2 个 ImageButtons(类似于 Activity 中的 ActionBa
我一直在尝试在 AlertDialog 中制作一个按钮Flutter 中的盒子。但我找不到拉伸(stretch)按钮容器的方法。请检查我的代码并查看下面的示例图片。 AlertDialog(
我正在尝试找出创建对话框的最佳方式。我可以创建自己的 Dialog 类(对我来说,它更干净、更有条理),或者我可以使用 AlertDialog.Builder(可以内联完成,而且看起来很时髦)……两者
我使用 AlertDialog.builder 创建了一个对话框,其中显示了可以检查的多选项目列表。 我设置了初始的项目名称集及其检查状态: builder.setMultiChoiceItems(
应用拦截短信并显示消息的对话框。 但是我无法在我的 Test 类中解决我的 Dialog 错误。我做错了什么? (我还包含了我的其他 2 个文件)。 Eclipse 中显示错误:AlertDialog
我的 flutter 应用程序中出现了一个 Flutter AlertDiaog。使用 Flutter Driver,我无法点击 Flutter AlertDialog 或 AlertDialog 上
我是 Jetpack compose 的初学者。现在在我的应用程序屏幕中,AlertDialog 用于向用户显示一些信息。 根据文档,当用户在对话框外或后退按钮上单击时,将调用 onDismissRe
我有一个 AlertDialog 的自定义子类,它应该显示范围内所有可用 Wifi 网络的列表。 我通过创建该对话框的实例并调用 show() 来显示此对话框,并且我没有使用 AlertDialog.
我有一个 AlertDialog 的子类,它应该显示范围内所有可用 Wifi 网络的列表。 我希望对话框本身负责启动 Wifi 扫描并接收结果。 出于这个原因,我不能使用 AlertDialog.Bu
标题几乎说明了一切。我需要关于如何做到这一点的建议。我可能只是将外部适配器添加为 AlertDialog 上的 View,以使其不那么复杂,但我仍然不知道如何与 交互来自内部适配器的 AlertDia
我想自定义 V7 AlertDialog 的 TITLE 颜色。 SetCustomTitle() 似乎无法与 android.support.v7.app.AlertDialog 一起使用。我可以看
创建 AlertDialog 然后显示和显示 AlertDialog.Builder 本身之间的主要区别是什么? 例如。我可以有一个像这样的 AlertDialog.Builder: AlertDi
关于我们什么时候应该使用 android.app.AlertDialog,或者我们什么时候应该使用 android.support.v7.app.AlertDialog,是否有任何指南? 因为,如果我
我是一名优秀的程序员,十分优秀!