Dialog的弹出位置控制

2023-11-16

Dialog一般出现都是屏幕中心,但有的时候我们希望它能在屏幕左侧,或者右侧亦或者是屏幕顶部。这时候我们就需要用的Dialog.getWindow().getAttributes()方法啦

dialog = new Dialog(getActivityContext());
dialog.setContentView(localView);
         
//下面的几个属性可能也会经常用到,用于设置我们弹出之后的window属性
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);      
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); 

//设置大小        
dialog.getWindow().setLayout(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            
//拿到LayoutParams,其实也就类似常用的FrameLayout.LayoutParams这种
WindowManager.LayoutParams localLayoutParams = dialog.getWindow().getAttributes();
//这里就是设置gravity位置了
localLayoutParams.gravity = Gravity.TOP | Gravity.START;

//这里的大小使用了View的大小,但是调用的时候要注意,不能才初始化方法或onCreate中调用,否则会导致大小为0
localLayoutParams.width = getWidth();
localLayoutParams.height = getHeight();

int location[] = new int[2];
getLocationOnScreen(location);//这是View当中的方法,用于获取当前View的左上角在屏幕上的坐标
localLayoutParams.x = location[0];
localLayoutParams.y = location[1];
mVolumeDialog.getWindow().setAttributes(localLayoutParams);

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dialog的弹出位置控制 的相关文章

  • 如何制作在手机和平​​板电脑上使用的响应式Android应用程序?

    我创建了一个 Android 应用程序 当我运行我的应用程序时Mobile Phone它工作得很好 但是当我跑进去时Tablet应用程序的布局已更改 那么 如何制作响应式Android应用程序用于Mobile并且也在Tablet 在Andr
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • Jetpack 导航:如何从一个嵌套图的子级导航到另一个嵌套图的子级?

    导航结构 MainActivity nav root HomeFragment AuthNestedGraph nav auth BeforeOtpFragment home OtpFragment ProfileNestedGraph n
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • Jenkins 的代码覆盖率 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 发生错误。请参阅日志文件 - eclipse juno

    每当我启动 Eclipse Juno 时 都会出现错误 发生错误 请查看日志文件 C Program Files eclipse configuration 1362989254411 log 有的网站说卸载jdk重新安装 我这样做了 但没
  • 我想在java中使用XQuery进行Xml处理

    我想用XQuery用于从 java 中的 Xml 获取数据 但我没有得到需要为此添加哪个 Jar 我在谷歌上搜索了很多 但没有得到任何有用的例子 例如我得到以下链接 https docs oracle com database 121 AD
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 带有 OpenId 提供程序的 Java Spring 安全性

    我有一个 spring MVC 应用程序 另一个客户端应用程序想要使用 open id connect 访问我的 spring 应用程序 如何在服务器端实现开放ID提供商 请帮忙 MITREid 连接 OpenID Connect Java
  • 如何找到被点击的JLabel并从中显示ImageIcon?

    这是我的代码 我想知道哪个l单击 然后在新框架中显示该 ImageIcon e getSource 不起作用 final JFrame shirts new JFrame T shirts JPanel panel new JPanel n
  • 如何构建自定义摄像机应用程序?

    我正在尝试开发一个自定义摄像机录像机 当我的设备在 Activity 的 beginRecording 中执行 start MediaRecorder 方法时 应用程序崩溃 我不知道出了什么问题 因为我遵循谷歌API指南 http deve
  • Android Gradle 同步失败:无法解析配置“:classpath”的所有工件

    错误如下 Caused by org gradle api internal artifacts ivyservice DefaultLenientConfiguration ArtifactResolveException Could n
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 为什么我的代码会产生错误:该语句没有返回结果集[重复]

    这个问题在这里已经有答案了 我正在从 Microsoft SQL Server Studio 执行以下查询 该查询工作正常并显示结果 SELECT INTO temp table FROM md criteria join WHERE us
  • 在 Android 手机中通过耳机插孔发送数据

    我目前正在处理一个新项目 我必须通过具有特定电压的耳机插孔发送数据 然后我可以在该电压上工作 所以这里我需要根据我的数据来编程具体电压 我是否可以在android中访问耳机的输出电压 然后创建一个应用程序来控制该电压 这是一篇讨论此问题的
  • 为什么带处理程序的连续自动对焦相机不允许切换相机闪光灯?

    到目前为止我所做的 我已经实现了用于读取二维码的自定义相机 需要继续聚焦相机以获得更好的二维码读取 我的问题当我使用处理程序每 秒聚焦一次时 相机闪光灯开 关按钮不起作用 或者打开和关闭相机闪光灯需要太多时间 当我删除每秒自动对焦相机的代码
  • R.java是手动修改的!恢复到生成的版本

    我在布局中添加了一个 xml 文件 之后这个错误就来了 但问题是我还没有接触过 R java 文件 现在 在我的新活动中 我要将其内容视图设置为我新创建的 xml 文件 但是当我执行 R layout 时 新创建的 xml 不会出现在建议中
  • 如何在布局编辑器中模拟沉浸式模式

    我想在布局编辑器中全屏查看我的布局 我正在使用 eclipse 插件 我已经通过选择隐藏了 ActionBar NoActionBar组合中的主题 但导航栏是一个不同的故事 AFAIK 它只能使用代码中的标志来隐藏 我需要在活动 xml 文

随机推荐

  • js三种声明方式

    JS中声明函数大体上有三种方法 1 常规方法 JScript code function funcName var1 var2 add you code here 2 匿名函数引用法 找不到具体的称呼 暂且先这么叫 JScript code
  • 系统远程安装

    一 现有如下需求 1 分行有20台左右瘦客户机 一台文员机 2 在总部可以通过控制台 控制软件 统一管理控制这20台瘦客户机 文员机可以通过远程桌面控制 3 现需要统一给分行这20台瘦客户机升级系统 二 解决思路 1 将新系统 Ghost文
  • phpstorm安装、汉化以及搭配WampServer使用的细节说明

    phpstorm安装 汉化以及搭配WampServer使用的细节说明 一 简介 底层嵌入式软件是用c语言写的 但是上层的应用网页是用HTML PHP写的 这就造成嵌入式软件和网页需要进行数据交互来进行通信 为了保证安全性和系统结构清晰 便于
  • VMware16 安装windows_10

    一 镜像下载 1 Windows 镜像文件 cn windows 10 multiple editions version 1703 updated march 2017 x64 dvd 10194190 iso下载 迅雷下载 ed2k f
  • citespace使用教程系列文章:二、关键词聚类图

    关键词聚类图 上一章citespace安装和关键词共现图已经讲了软件安装和关键词共现 本文我们讲一下怎么做关键词聚类分析 1 接着上一篇文章继续以下操作 点击下图圈中的图标 进行关键词聚类 2 点击之后 将得到下图的结果 可以看见以 号开头
  • python3 with.py

    模块 python3 with py 参考 https docs python org zh cn 3 reference compound stmts html with https docs python org zh cn 3 ref
  • 关于海量用户访问的通用技术架构的一些思考

    最近12306 cn网站事件引起了很多人对架构的思考 这种访问量巨大的网站究竟该如何来做架构 下面是我的想法 因为要考虑到通用抛开业务单纯从技术层面分析 要承载海量用户的访问 要求网站高性能和高可用 安全可靠 高可收缩性 易于维护 等等一堆
  • 20道常见的kafka面试题以及答案

    JAVA面试宝典 搞定JAVA面试 不再是难题 系列文章传送地址 请点击本链接 目录 1 kafka的消费者是pull 拉 还是push 推 模式 这种模式有什么好处 2 kafka维护消息状态的跟踪方法 3 zookeeper对于kafk
  • jq微信账号正则表达式

    微信号官方规则 必须以字母或下划线开头 可以使用6 20位数字 字母 下划线 减号或它们的组合 正则表达式 a zA Z a zA Z0 9 6 20 如有其它问题欢迎大家留言
  • excel批量提取多个文件单元格_EXCEL高手专用函数Indirect,快速提取多个工作表,特定单元格数据...

    Indirect间接引用函数 你应学会的跨表引用技能 点关注 交朋友 大家共同学技术 几天前 看到有人问 excel中有哪些技能是你以前不知道 但是后来知道了却一直没有忘记的 我首先想到了 Indirect函数 使我的工作效率提高了百倍 千
  • vue常用知识总结

    vue常用知识总结 vue简介 vue 响应式原理 Object defineProperty vue 的作者 尤雨溪 java 出身 vue 是什么 以数据驱动视图的单页面 spa 渐进式 MVVM 框架 特性 数据双向绑定 模块化开发
  • Embarcadero Dev-C++第一次使用注意事项

    Embarcadero Dev C 第一次使用注意事项 Embarcadero Dev C 简介 2000年左右 Bloodshed software开发了Dev C 提供轻量 免费 开源的C C IDE Dev C 是最适合初学C 语言的
  • 基于stm32单片机自动灭火火灾报警装置Proteus仿真

    资料编号 102 下面是相关功能视频演示 102 基于stm32单片机自动灭火火灾报警装置Proteus仿真 仿真 源码 全套资料 功能介绍 火焰传感器的原理 是通过感知外部特殊波段光照强度的突变来判断是否出现火灾 该仿真采用ADC采集光照
  • Maven 知识点总结

    文章目录 Maven 1 Maven 坐标 2 Maven 仓库 3 Maven 依赖 依赖配置 依赖范围 依赖调解原则 排除依赖 4 Maven 生命周期 5 Maven 聚合与继承 Maven Maven是一个项目管理工具 它包含了项目
  • c# MACD 算法实现

    此算法在自己WP7应用中 用到 同花顺 算法 DIFF EMA CLOSE SHORT EMA CLOSE LONG DEA EMA DIFF M MACD 2 DIFF DEA Zero 0 关键点是第一天的数据 如果是区间的数据 区间第
  • Bootstrap弹出模态框

    弹出模态框 Modal 使用Bootstrap的JavaScript模态框插件可以为您的网站添加醒目的提示和交互 用于通知用户 访客交互 消息警示或自定义的内容交互 如考试问答场景 译者注 运行原理 在开始使用Bootstrap模态框组件前
  • CMDB功能分析与实现方案

    CMDB功能分析与实现方案 CMDB系统的主要功能 1 用户管理 记录测试 开发 运维人员的用户表 2 业务线管理 记录业务的详情 3 项目管理 指定此项目属于那一条业务线 4 应用管理 指定此应用的开发人员 5 主机管理 记录主机管理员
  • 软件项目管理和实施方案

    一 实施周期 自合同签订或约定之日起xxx个日历日内完成项目需求调研 软件开发及调试工作 实现系统上线运行 并完成项目验收 二 项目进度 一 项目计划 根据本公司对项目建设工期的整体计划 本公司将整个系统的建设工作按照计划进行详细分工 把任
  • PCL-OpenCV冲突的解决方案

    测试LIO SAM 编译期报错 error field param k has incomplete type flann SearchParams 查了github 把 usr include pcl 1 7 pcl kdtree kdt
  • Dialog的弹出位置控制

    Dialog一般出现都是屏幕中心 但有的时候我们希望它能在屏幕左侧 或者右侧亦或者是屏幕顶部 这时候我们就需要用的Dialog getWindow getAttributes 方法啦 dialog new Dialog getActivit