动态获取手机屏幕宽高及动态设置控件宽高
1.获取手机屏幕宽高:
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels;
2.根据屏幕宽度为控件设置动态设置宽高:
imageView.setImageResource(R.drawable.newscar);
LayoutParams params = imageView.getLayoutParams();
params.height=screenWidth/10;
params.width =screenHeight/10;
imageView.setLayoutParams(params);
注意示例:
我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸
下面的代码即可获取屏幕的尺寸。
在一个Activity的onCreate方法中,写入如下代码:
DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);int width = metric.widthPixels; // 屏幕宽度(像素)int height = metric.heightPixels; // 屏幕高度(像素)float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
但是,需要注意的是,在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。比如说,一部240x320像素的低密度手机,如果运行上述代码,获取到的屏幕尺寸是320x427。因此,研究之后发现,若没有设定多分辨率支持的话,Android系统会将240x320的低密度(120)尺寸转换为中等密度(160)对应的尺寸,这样的话就大大影响了程序的编码。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下:
<supports-screensandroid:smallScreens="true"android:normalScreens="true"android:largeScreens="true"android:resizeable="true"android:anyDensity="true" />
这样的话,当前的Android程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。
动态获取手机屏幕宽高及动态设置控件宽高相关推荐
- android设置屏幕高度和宽度设置,Android手机的屏幕宽高度和代码设置控件的宽高度...
1.Android手机的屏幕宽高度 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); int w ...
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
原文:WPF 获取鼠标屏幕位置.窗口位置.控件位置 public struct POINT{public int X;public int Y;public POINT(int x, int y){t ...
- Android动态设置控件宽高和padding
在开发过程中我们经常需要动态设置控件的宽高和padding.以TextView为例.如下: 布局代码 TextView的默认宽高为包裹文字,添加了一个背景颜色设置参数后更直观看到效果 <?xml ...
- ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...
本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...
- ios 代码设置控件宽高比_#iOS 开发实用技巧# Masonry 控件宽高(不同控件之间宽高比)比设置方法...
Masonry 项目中我们实用 Masonry 自动布局,可能需要设置控件的宽高比,需要记录一下这个方法. 一句代码搞定: 注意这里需要设置的是控件的宽高比. make.width.equalTo(s ...
- ios 代码设置控件宽高比_iOS基于代码按比例约束方法进行屏幕适配
还记得刚刚开始学习iOS的开发的时候,简简单单的小控件练习,我总是习惯性的写死Frame,后来知道了屏幕适配,添加约束这样才能使UI更好的展示在屏幕上,Objective-C中的Masonry,Swi ...
- android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高
这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...
- android高仿美团筛选控件,Android高仿美团首页分类按钮
惯例,先上GIF 栗子.gif更新v1.1版本 2017-6-2 11:55:30 详见github 一.使用姿势 1.引入(使用Gradle或者Maven) 1)Gradleallprojects ...
- uniapp 动态获取手机屏幕高度
uniapp 动态获取屏幕高度再减去已有元素的高度等于剩下元素高度 uni.getSystemInfo({success: res => {this.screenHeight = (res.sc ...
最新文章
- 基于路由器网络诊断步骤和故障排除技巧
- Java中使用MATLAB作图
- svn教程----TortoiseSVN客户端
- 怎么输入license_误执行了 rm fr /* 之后,除了跑路还能怎么办?!
- 我的第一本算法书(图解算法)——什么是哈希表
- 在Razor中如何引入命名空间?(import namespace in razor view)
- R语言学习资料分享下载
- 【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体
- OPENCV轮廓提取findContours和drawContours
- MySQL-第六篇DML语句
- paip输入法编程之生活用高频字,以及汉字分级
- 乌班图/Ubuntu 21.10 安装nvidia 显卡驱动
- 财务人员福音,财务收支报告模板
- ZynAddSubFX
- PayPal支付功能实现
- matlab 两个视频同时播放视频,视频画面合并教程:两个或多个视频合并在同一屏幕上同时播放...
- 目前以太网主要采用什么连接计算机,目前以太网主要采用______连接计算机,计算机能够独享带宽...
- 1. SCARA机器人建模
- linux命令:查询某个字符串在哪个文件中存在,贼拉管用!
- 二叉树的前序,中序,后序遍历Java实现
热门文章
- 【数学-三角函数】Atcoder——ABC144——Water Bottle
- WPF解决Popup窗口随动及显隐
- CentOS 7.3 安装 libsodium 1.0.18
- cf700E. Cool Slogans
- 27 个问题,告诉你Python为什么这么设计?
- Core-periphery decomposition--核心-外围模型R代码整理
- StataIC——数据描述性统计分析、平稳性检验、平稳化
- 【Codecs系列】x265编码器(三):preset支持工具集和优化分析
- html中的绝对定位怎么写,CSS position绝对定位absolute relative
- V831——人脸识别通过串口向下位机发送指令