android 设置屏幕固定位置,Android 关于dialog的显示位置设置
自定义dialog 默认的显示位置是window 的位置
我们可以通过dialog或者窗口对象 window 然后通过window 去设置dialog的上下中的位置
例如 dialog.getWindow(); 得到window对象
window.setGravity(Gravity.CENTER); 中间位置
window.setGravity(Gravity.BOTTEM); 底部位置
window.setGravity(Gravity.TOP); 顶部位置
等等 上下左右你都可以去设置
现在我们设定了dialog在wendow 中的位置 然而这样并不能满足我们的需求 我想dialog 显示在距离顶部有一段距离的地方显示 例如距离顶部100 的位置该怎么办呢
有办法 仍然是通过window去设置
WindowManager.LayoutParams params = window.getAttributes(); 获取window 的params 然后给params去设置x y 参数即可 我们设置的 x y 是相对值 相对自身位置的偏移量 负值无效(显而易见 x 是代表水平方向的偏移 y 代表竖直方向的偏移)
简单举个栗子
* 当参数值包含Gravity.LEFT时,对话框出现在左边,所以params.x就表示相对左边的偏移
* 当参数值包含Gravity.RIGHT时,对话框出现在右边,所以params.x就表示相对右边的偏移
* 当参数值包含Gravity.TOP时,对话框出现在上边,所以params.y就表示相对上边的偏移
* 当参数值包含Gravity.BOTTOM时,对话框出现在下边,所以params.y就表示相对下边的偏移
注意 负值无效
还是刚才那个需求 我有一个dialog 想让它显示在距离顶部100 的位置
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = LayoutInflater.from(getActivity()).inflate(R.layout.home_identity_choose_window,
null);
builder.setView(view);
titleDialog = builder.create();
Window window = titleDialog.getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.x = 10;
params.y = 100;
params.width = 220;
params.height = 200;
window.setAttributes(params);
titleDialog.show();
window.setGravity(Gravity.TOP);
这个就可以了
还有一种方式就是按照屏幕比例设置
// WindowManager m = getWindowManager();
// Display d = m.getDefaultDisplay(); // 获取屏幕宽、高
// WindowManager.LayoutParams params = dialogWindow.getAttributes();
// params.height = (int) (d.getHeight() * 0.5); // 高度设置为屏幕的0.5
// params.width = (int) (d.getWidth() * 0.6); // 宽度设置为屏幕的0.6
// dialogWindow.setAttributes(params);
这样你就可以自由设置dialog的位置了
版权声明:本文为博主原创文章,未经博主允许不得转载。
android 设置屏幕固定位置,Android 关于dialog的显示位置设置相关推荐
- 获取滑动条位置,动态调整对话框显示位置;为动态添加的button添加click事件
1.获取滑动条位置,动态调整对话框显示位置 应用场景:页面上有三个按钮,所处位置高度不同,有的按钮需要移动滑动条才能看到,各个按钮点击后要弹出同一个对话框,为了保证对话框始终显示在当前视野的中央位置, ...
- android 多屏幕 设计翻译,android Supporting multiple screen翻译一
Multiple screens quickview:多个屏幕quickview: ·Android runs on devices that have different screen sizes ...
- android 主屏幕,如何重置Android主屏幕返回到默认启动
一个关于最好的Android操作系统是,你可以给通过自定义您的Android体验,而无需Root权限的设备焕然一新. 而这一切都可以通过轻松完成Android启动 . 有很多发射应用程序上提供谷歌Pl ...
- android 实现屏幕录制功能,Android实现屏幕录制功能
本文实例为大家分享了Android实现屏幕录制功能的具体代码,供大家参考,具体内容如下 1.效果图: 2.添加依赖 dependencies { implementation fileTree(dir ...
- pc控制android手机屏幕亮度,调整android手机屏幕亮度
贴一段调整安卓手机屏幕亮度的代码 ,可以参考使用,见下: public void setBrightness(int level) { ContentResolver cr = getContentR ...
- android 多屏幕 设计翻译,android设计4(翻译).pdf
android设计4(翻译).pdf Android design (中文) 安卓设计 译自谷歌安卓官方文档: /design/index.html 版权归属遵循:Creative Commons A ...
- android 设置屏幕对比度,【Android】安卓调节屏幕亮度
首先需要申请WRITE_SETTINGS权限,在清单文件里面注册; 这个权限有些特殊,代码如下: 需要注意的时,下面的代码需要判断系统的版本大于23,才可以 private static final ...
- Winform中设置Dialog的显示位置居中
场景 点击按钮使窗体以Dialog的方式显示,即弹窗. //声明窗体对象ChartOption chartOption = new ChartOption();//显示DialogchartOptio ...
- android旋转屏幕 简册,[Android][旋转屏幕]
1.落笔缘由 最近在研究旋转屏幕,网上可以找到资料,发现他们基本都是在Activity的基础上进行旋转.自己也想研究一下,能不能实现只旋转屏幕的内容,而不旋转屏幕上的菜单.例如,我点击屏幕上的按钮,页 ...
- Android开发屏幕自动变暗,Android实现长时间不用屏幕变暗
直接上代码,代码如下: import android.app.Activity; import android.os.Bundle; import android.os.Handler; import ...
最新文章
- 使用FileItem获取文件名时注意事项
- 1 Knight Moves
- 1280*720P和1920*1080P的视频在25帧30帧50帧60帧时的参数
- bzoj1116 [POI2008]CLO
- swift 自定义TabBarItem
- 高级网络营销师黄杰告诉你:怎样建网站?网站建设只需三步
- python通过MySQLdb操作mysql
- 两年前端历程回顾的思考与总结
- 频谱感知2:衰落信道上未知信号的能量检测
- Mac版 matlab 安装 GAOT工具箱
- sql基础语法(增、删、改、查)
- 高中计算机课程事例,【高中信息技术教学案例】_《高中信息技术新课程教学案例集》介绍...
- App Store 审核指南 审核失败对照
- 【homework】类与对象的基础应用(Student类)
- 男女朋友关系是这么确定的。。。【其实相爱很简单】
- 三角形二(海伦公式)
- 如何通过病毒营销打造爆款产品
- 租房微信小程序--基于微信云开发--小程序端集成了管理员后台
- ios 蓝牙对战实现
- python3.8.2怎么卸载_Python卸载