服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - Android Studio 中获取屏幕宽度实例

Android Studio 中获取屏幕宽度实例

2022-12-01 14:49RylynnKang Android

这篇文章主要介绍了Android Studio 中获取屏幕宽度实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

获取整个屏幕的宽度的实例

?
1
2
3
4
5
Point p = new Point();
//获取窗口管理器
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getSize(p);
screenWidth = p.x; // 屏幕宽度

补充知识:Android屏幕适配之动态设置单个控件的宽高比例

前言:这个问题出现在我做平板项目的时候,需要横排显示一张图片以及其他控件,如下图:

Android Studio 中获取屏幕宽度实例

要求图、文各占一半大小,图片的宽高比例目测是1:2。这种情况不适合把高度写死,因为iPad的屏幕大小差异有些大,高度写死图片hin容易变形,因此我们就需要动态去设置这个图片的宽高。

正题:首先我们已知图片宽度是屏幕的一半,所以我们只要获取图片的宽度,然后设置高度为宽度的1/2即可。

?
1
2
3
4
5
6
7
8
9
img.post(new Runnable() {
 @Override
 public void run() {
  int w = img.getWidth();
  int h = w / 2;
  img.setLayoutParams(new LinearLayout.LayoutParams(w, h));
 }
 
});

这里用了post方法来延迟获取宽度,是为了防止在img自身未完成测量的时候该方法过早调用,这种情况得到的宽度为0;

附加提示:如果你的控件有margin值,此时就不管用了,可以转换为让其父控件设置padding值。

以上这篇Android Studio 中获取屏幕宽度实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_35980005/article/details/78230129

延伸 · 阅读

精彩推荐