屏蔽Activity, Dialog风格Activity, AlertDialog的Home键功能方法分别是:
1.屏蔽Activity的Home键功能
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
2.屏蔽 Dialog风格Activity的Home键功能
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
这里之所以和Activity区分,是因为Dialog风格Activity如果用第一种方法,这个Dialog风格Activity的背景就变成黑色的,而不是透明的.
3.屏蔽AlertDialog的Home键功能
AlertDialog d = b.create();
d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
不做屏蔽Home键的功能不能常用
在做音乐播放器的睡眠模式时,为保证在睡眠关机提示框弹出时,用户只针对当前提示框做操作,就用得屏蔽其Home键作用,就像手机要关机时,必须对关机做取消或确定关机操作一样,除非确认完关闭此对话框,不能到其它界面做操作.
sleepDialog = b.create();
sleepDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
sleepDialog.show();
=============================下 面 转载一个home键监听函数:
本文来自CSDN丹丹博客,转载请注明出处:
http://blog.csdn.net/dany1202/archive/2011/06/14/6543769.aspx
请支持原创
注册:
view plain
IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
mCloseSystemDialogsReceiver = new CloseSystemDialogsIntentReceiver();
registerReceiver(mCloseSystemDialogsReceiver, filter);
监听:
view plain
private class CloseSystemDialogsIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String reason = intent.getStringExtra("reason");
Log.d(TAG, "CloseSystemDialogsIntentReceiver reason is " + reason);
if ("homekey".equals(reason)) {
Log.d(TAG,"homekey click=========================");
// EditWidget.this.finish();
keyHomeFlag = true;
}
}
}
上面 的函数可以在Home键功能完毕后监听到是Home键而非其它Key键.
分享到:
相关推荐
自己总结的,在Android中 Activity与 AlertDialog 值传递的例子 有一个EditText和两个EditText,将值返回给Activity中的 TextView
我们添加的按钮不论是用setNegativeButton还是用setPositiveButton添加的按钮,点击的时候,都会关闭对话框,但是我们的一 些实际需求,就需要保留这个对话框不动,例如输入校验码,...而关闭后弹出对话框,就很别扭了
前言有些时候需要把一个activity当成一个dialog来使用,或者说需要一个dialog里面放一些布局或者其它控件,这时候就需要一个Dialog样式的Act
本文实例讲述了Android编程自定义Dialog的方法。分享给大家供大家参考,具体如下: 功能: android 提供给我们的只有2种Dialog 即 AlertDialog & ProgressDialog 但是 Dialog 有其自身的特点:1. 不是 Activity 2. ...
AlertDialog.Builder builder = new AlertDialog.Builder(MainDialog.this); switch(id) { case DIALOG_0: builder.setIcon(R.drawable.icon); builder.setTitle("你确定要离开吗?"); builder....
原因:弹出dialog后,activity失去焦点,dialog获得当前焦点。 解决办法:在dialog中可以通过调用setOnKeyListener()方法来为dialog增加按键事件的监听。 private void createDialog() { AlertDialog.Builder ...
自定义dialog肯定是用的很多了但是感觉每次做都是很乱 单纯完成任务而已,现在封装了一下 以后用到直接copy 先上图: 主activity 代码如下: package com.su.testcustomdialog; import ...
PS2:其他创建Dialog的方法:创建app.Dialog类或者创建app.AlertDialog类。 Next Study:能不能在Activity已经打开以后动态修改当前Activity的风格? 在测试中发现,在onCreate()事件中增加setTheme(),必须在...
private AlertDialog dialog1; private AlertDialog dialog2; private AlertDialog dialog3; private AlertDialog dialog4; private AlertDialog dialog5; private ProgressDialog dialog6; private ...
有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才...
OnClickListener() { public void onClick(View v) { AlertDialog dlg = new AlertDialog.Builder(ArtistsActivity.this) .setTitle("Login Exit").setMessage("您要退出程序??") .setPositiveButton("确定", new ...
Android学习笔记3-2 ... 3-2 AlertDialog activity_dialog.xml文件 ...DialogActivity.java文件 package com.ylw.helloworld; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.App
本文实例讲述了Android编程实现Dialog窗体监听的方法。分享给大家供大家参考,具体如下: 今天做了一个Dialong窗体监听包括窗体内的xml监听。 效果图: test.class代码 package com.test; import Android.app....
例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int),dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...
例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...
例如 onCreateDialog(int), onPrepareDialog(int, Dialog), showDialog(int), dismissDialog(int)等方法,如果使用这些方法的话,Activity将通过getOwnerActivity()方法返回该Activity管理的对话框(dialog). ...
Dialog dialog = new AlertDialog.Builder(Activity01.this) .setTitle("善谢谢提醒") .setMessage("现在选中了:"+tabId+"标签") .setPositiveButton("确定", new ...
AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setTitle(温馨提示);//标题 builder.setMessage(天气冷,注意保暖); builder.setIcon(R.mipmap.ic_launcher); builder.create(); bui
1.activity_main.xml页面存放五个按钮。 activity_main.xml页面: <RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=http://schemas.android.com/tools android:layout_...