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程序就支持了多种分辨率,那么就可以得到正确的物理尺寸了。

动态获取手机屏幕宽高及动态设置控件宽高相关推荐

  1. android设置屏幕高度和宽度设置,Android手机的屏幕宽高度和代码设置控件的宽高度...

    1.Android手机的屏幕宽高度 WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); int w ...

  2. WPF 获取鼠标屏幕位置、窗口位置、控件位置

    原文:WPF 获取鼠标屏幕位置.窗口位置.控件位置 public struct POINT{public int X;public int Y;public POINT(int x, int y){t ...

  3. Android动态设置控件宽高和padding

    在开发过程中我们经常需要动态设置控件的宽高和padding.以TextView为例.如下: 布局代码 TextView的默认宽高为包裹文字,添加了一个背景颜色设置参数后更直观看到效果 <?xml ...

  4. ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...

    本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...

  5. ios 代码设置控件宽高比_#iOS 开发实用技巧# Masonry 控件宽高(不同控件之间宽高比)比设置方法...

    Masonry 项目中我们实用 Masonry 自动布局,可能需要设置控件的宽高比,需要记录一下这个方法. 一句代码搞定: 注意这里需要设置的是控件的宽高比. make.width.equalTo(s ...

  6. ios 代码设置控件宽高比_iOS基于代码按比例约束方法进行屏幕适配

    还记得刚刚开始学习iOS的开发的时候,简简单单的小控件练习,我总是习惯性的写死Frame,后来知道了屏幕适配,添加约束这样才能使UI更好的展示在屏幕上,Objective-C中的Masonry,Swi ...

  7. android 控件高度和图片一样高,Android 根据图片宽高比例设置控件宽高

    这个方式适用于一个界面少量图片. 主要的计算公式就是得到当前控件最大的显示宽度(高度),一般填充屏幕的话,就直接取屏幕的宽度了. 得到宽度除以图片宽除以高,也可以直接得到图片宽高的比例.如下公式 这种 ...

  8. android高仿美团筛选控件,Android高仿美团首页分类按钮

    惯例,先上GIF 栗子.gif更新v1.1版本 2017-6-2 11:55:30 详见github 一.使用姿势 1.引入(使用Gradle或者Maven) 1)Gradleallprojects  ...

  9. uniapp 动态获取手机屏幕高度

    uniapp 动态获取屏幕高度再减去已有元素的高度等于剩下元素高度 uni.getSystemInfo({success: res => {this.screenHeight = (res.sc ...

最新文章

  1. 基于路由器网络诊断步骤和故障排除技巧
  2. Java中使用MATLAB作图
  3. svn教程----TortoiseSVN客户端
  4. 怎么输入license_误执行了 rm fr /* 之后,除了跑路还能怎么办?!
  5. 我的第一本算法书(图解算法)——什么是哈希表
  6. 在Razor中如何引入命名空间?(import namespace in razor view)
  7. R语言学习资料分享下载
  8. 【每日算法Day 85】图解算法:一行代码解决约瑟夫环的变体
  9. OPENCV轮廓提取findContours和drawContours
  10. MySQL-第六篇DML语句
  11. paip输入法编程之生活用高频字,以及汉字分级
  12. 乌班图/Ubuntu 21.10 安装nvidia 显卡驱动
  13. 财务人员福音,财务收支报告模板
  14. ZynAddSubFX
  15. PayPal支付功能实现
  16. matlab 两个视频同时播放视频,视频画面合并教程:两个或多个视频合并在同一屏幕上同时播放...
  17. 目前以太网主要采用什么连接计算机,目前以太网主要采用______连接计算机,计算机能够独享带宽...
  18. 1. SCARA机器人建模
  19. linux命令:查询某个字符串在哪个文件中存在,贼拉管用!
  20. 二叉树的前序,中序,后序遍历Java实现

热门文章

  1. 【数学-三角函数】Atcoder——ABC144——Water Bottle
  2. WPF解决Popup窗口随动及显隐
  3. CentOS 7.3 安装 libsodium 1.0.18
  4. cf700E. Cool Slogans
  5. 27 个问题,告诉你Python为什么这么设计?
  6. Core-periphery decomposition--核心-外围模型R代码整理
  7. StataIC——数据描述性统计分析、平稳性检验、平稳化
  8. 【Codecs系列】x265编码器(三):preset支持工具集和优化分析
  9. html中的绝对定位怎么写,CSS position绝对定位absolute relative
  10. V831——人脸识别通过串口向下位机发送指令