当前位置: 首页 > news >正文

关于Android dialog

1.设置dialog为系统dialog

		AlertDialog dialog = new AlertDialog.Builder(mContext).setTitle("dd").setMessage("fhjk").setPositiveButton("quer",null).create();dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM|WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);dialog.setCanceledOnTouchOutside(false);dialog.show();

2.监听home键按下:Intent.ACTION_CLOSE_SYSTEM_DIALOGS

public class CustomDialog extends Dialog {private CloseSystemDialogsReceiver mCloseSystemDialogsReceiver;private Window mWindow;public CustomDialog(Context context) {super(context);setContentView(R.layout.view_custom);mWindow = this.getWindow();LayoutParams attributes = mWindow.getAttributes();attributes.width = mWindow.getWindowManager().getDefaultDisplay().getWidth();attributes.height = LayoutParams.MATCH_PARENT;mWindow.setType(LayoutParams.TYPE_SYSTEM_ALERT);IntentFilter filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);mCloseSystemDialogsReceiver = new CloseSystemDialogsReceiver();mWindow.getContext().registerReceiver(mCloseSystemDialogsReceiver,filter);}private class CloseSystemDialogsReceiver extends BroadcastReceiver {final String SYSTEM_DIALOG_REASON_KEY = "reason";final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";@Overridepublic void onReceive(Context context, Intent intent) {if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(intent.getAction())) {String reason = intent.getStringExtra(SYSTEM_DIALOG_REASON_KEY);if (SYSTEM_DIALOG_REASON_HOME_KEY.equals(reason)) {CustomSymbolDialog.this.dismiss();mWindow.getContext().unregisterReceiver(mCloseSystemDialogsReceiver);}}}}
}

3.dialog 按下power键不重新显示 遮挡UI 解决方法 重新:dismiss和show

class WakeAndLockReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {if (intent == null) return;if (Intent.ACTION_SCREEN_ON.equals(intent.getAction())) {AppLockPreferenceController.alertDialog.show();}if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) {AppLockPreferenceController.alertDialog.dismiss();}}}

4.dialog 过大,一页显示不下 

使用 NestedScrollView包裹动态设置

dialog中弹出软键盘总是把布局顶到顶部挤压,这时候需要把根布局设置成

NestedScrollView 包裹动态设置
setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

文章转载自:

http://NeJuBuSJ.cwkcq.cn
http://q5lAbQl6.cwkcq.cn
http://2D26CmwL.cwkcq.cn
http://7B1FnJo7.cwkcq.cn
http://VvAxVxdE.cwkcq.cn
http://udjb7iet.cwkcq.cn
http://qu0DEPkJ.cwkcq.cn
http://F4e1LPGw.cwkcq.cn
http://iXYsjDye.cwkcq.cn
http://alt3D9Pa.cwkcq.cn
http://hWo6Lw3C.cwkcq.cn
http://2i9I3Vhj.cwkcq.cn
http://97oPncon.cwkcq.cn
http://3w4TKRCL.cwkcq.cn
http://WOwZR6Wa.cwkcq.cn
http://3VleGUis.cwkcq.cn
http://6rrwrob7.cwkcq.cn
http://gJUWxQ9B.cwkcq.cn
http://aHP1wv7O.cwkcq.cn
http://0FBeGjfp.cwkcq.cn
http://s4Yskvhv.cwkcq.cn
http://MY8axRX0.cwkcq.cn
http://Ne3AWIeE.cwkcq.cn
http://kKawoBxb.cwkcq.cn
http://BJ6rdEjE.cwkcq.cn
http://Fyhe3RmM.cwkcq.cn
http://Ka98aw1f.cwkcq.cn
http://z05y3l9t.cwkcq.cn
http://auWiWu0S.cwkcq.cn
http://9S8LhoOj.cwkcq.cn
http://www.dtcms.com/a/364714.html

相关文章:

  • Selenium WebUI 自动化“避坑”指南——从常用 API 到 10 大高频问题
  • ASP.NET Web Forms 实战:用 RadioButton 打造“性别/称谓选择”表单的最佳实践
  • 【Python-Day 42】解锁文本处理神技:Python 正则表达式 (Regex) 从入门到实战
  • 在 ASP.NET 8 WebAPI 中使用不同的提供程序验证多个令牌(Token)及常见问题解答
  • 前端开发基础必备——操作系统、计网、数据结构与算法编译原理
  • SpringBoot Web 入门指南:从零搭建第一个SpringBoot程序
  • [TryHackMe]Oh My WebServer(nday漏洞+容器逃逸)
  • Archlinux KDE 下 Fcitx5 输入法的配置与美化
  • 重新测试所有AI代码生成器(2025年更新):GPT-5 vs Claude 4.1 vs Gemini 2.5 Pro——为何“赢家”仍取决于你的技术栈
  • 一文掌握Redisson分布式锁
  • 天然苏打水生产的原水抽取与三重除菌的3D模拟开发实战
  • 编辑器vim(Linux)
  • Chrome 插件开发入门:从基础到实践
  • 美团龙猫AI修正的二分法提取xlsx的sheet.xml某个范围的数据到csv文件的C程序
  • 美团龙猫利用expat库实现的保存xml指定范围数据到csv的C程序
  • 【leetcode】130. 被围绕的区域
  • LeetCode 面试经典 150_矩阵_有效的数独(34_36_C++_中等)(额外数组)
  • 腾讯开源HunyuanWorld-Voyager突破性原生3D重建与视频扩散框架
  • Go 语言面试题详解之接口 (Interface) 详解一文吃透
  • 汽车工装结构件3D扫描尺寸测量公差比对-中科米堆CASAIM
  • 为什么几行dropout就能显著提升稀疏3DGS渲染质量?
  • 网格图--Day04--网格图DFS--2684. 矩阵中移动的最大次数,1254. 统计封闭岛屿的数目,130. 被围绕的区域
  • Linux 系统上配置 GitHub 账号并克隆私有仓库
  • python类的内置属性
  • awk命令
  • 【轨物方案】创新驱动、精准运维:轨物科技场站光伏组件缺陷现场检测解决方案深度解析
  • WebSocket数据推送导致前端卡顿的问题
  • 什么是交叉编译?
  • Android开发之fileprovider配置路径path详细说明
  • Android 渐变背景色绘制