首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

来自服务的Android获取屏幕尺寸

是指在Android应用程序中通过调用系统提供的服务来获取设备屏幕的尺寸信息。这个功能对于开发需要根据屏幕尺寸进行适配的应用程序非常重要。

在Android中,可以通过以下方式来获取屏幕尺寸:

  1. 使用DisplayMetrics类:可以通过获取DisplayMetrics对象,然后使用其属性来获取屏幕尺寸信息。例如,可以使用以下代码获取屏幕宽度和高度:
代码语言:java
复制
DisplayMetrics displayMetrics = getResources().getDisplayMetrics();
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
  1. 使用WindowManager类:可以通过获取WindowManager对象,然后使用其getDefaultDisplay()方法获取Display对象,再通过Display对象获取屏幕尺寸信息。例如,可以使用以下代码获取屏幕宽度和高度:
代码语言:java
复制
WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;
int screenHeight = size.y;

这些方法可以在Activity或者Fragment中使用,以获取当前设备屏幕的尺寸信息。

应用场景:

  • 屏幕适配:根据屏幕尺寸的不同,可以对应用程序的布局进行适配,以保证在不同设备上显示效果的一致性。
  • 图片加载:根据屏幕尺寸的不同,可以选择加载不同分辨率的图片,以提高应用程序的性能和用户体验。
  • 动画效果:根据屏幕尺寸的不同,可以调整动画效果的速度和大小,以适应不同设备的显示效果。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 获取屏幕尺寸与密度

android中获取屏幕的长于宽,参考了网上有很多代码,但结果与实际不符,如我的手机是i9000,屏幕大小是480*800px,得到的结果却为320*533 结果很不靠谱,于是自己写了几行代码,亲测一下...注: density 大于1的情况下,需要设置targetSdkVersion在4-9之间,例如 android:minSdkVersion="3" android:targetSdkVersion...,直接通过dm.widthPixels、dm.heightPixels便得到了实际物理屏幕大小(540,960) 导致无法通过一种通用的方法获取真实物理屏幕大小的原因,可能就是因为Android系统开源...,不同的手机生产厂商没有统一的制造标准,来规定手机屏幕。...测试源码 参考推荐: Android的计量单位px,in,mm,pt,dp,dip,sp

2.6K30

创建支持多种屏幕尺寸的Android应用

方向 :屏幕的方向来自于用户的角度。这是横向或纵向,分别指屏幕各个角度的比例,而不是宽或高。需要注意的是,不仅不同的设备在不同方向运行,而且当用户旋转设备时,方向也同时在改变。...在运行时,对于任何给定的资源,系统通过以下步骤实现在当前屏幕上获取最佳的显示: 1.系统使用适当的替代资源 基于当前屏幕的尺寸和密度,系统会使用应用程序里的任何指定尺寸和密度的资源。...或者更高版本上开发应用程序,请参阅Declaring Tablet Layouts for Android 3.2章节获取关于新的配置限定符的信息,当申明了指定屏幕尺寸(而不是使用表1中的尺寸限定符的布局资源时...获取更多关于这些限定符如何大致对应于真实的屏幕尺寸和密度的信息,请参阅本文中前面提到的支持的屏幕范围章节。...注意:Android并不关心这个属性,因此它不会影响应用程序在运行时的行为。相反,它常常会为应用程序在服务如谷歌播放上进行过滤。

2.7K60
  • 为任意屏幕尺寸构建 Android 界面

    在不同的设备上运行同一应用,都应该能够灵活适应不同设备的屏幕尺寸。...现在便会介绍如何通过新的 Jetpack API 和 Android Studio 功能,来对现有应用进行更新,以针对所有屏幕尺寸进行优化。...通过这种方式更新应用导航,无论屏幕尺寸如何都能够拥有相同的导航图,这意味着调整屏幕尺寸不会产生导航的变化,从而让用户感到困惑。...这也让 Compose 可以轻松解决不同屏幕尺寸而带来的界面更改。 接下来,让我们通过 JetNews 来向您展示如何通过 Compose 来进行不同屏幕尺寸的适配。...首先,我们获取当前的窗口大小类,以及显示较小尺寸上的 ModalDrawer,然后确保设置了 ModalDrawer 让其只响应该尺寸中的手势。

    4.2K20

    【编程基础】Android中如何获取资源的尺寸?

    在Android中为了实现不同屏幕的适配,经常会用到在不同dimen.xml文件中对于同一dimen ID定义不同的大小,然后在代码中通过getDimension函数来获取,下面就来说说几种getDimension...getDimension()是基于当前DisplayMetrics进行转换,获取指定资源id对应的尺寸。文档里并没说这里返回的就是像素,要注意这个函数的返回值是float,像素肯定是int。...由此可见,这三个函数返回的都是绝对尺寸,而不是相对尺寸(dp\sp等)。...getDimension和getDimensionPixelOffset的功能类似,都是获取某个dimen的值,但是如果单位是dp或sp,则需要将其乘以density,如果是px,则不乘,并且getDimension...我用的手机的density是2.0所以所以会乘以2。

    2.5K70

    Android的尺寸单位

    前言 当前Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度。各应用为了保证可以在各机型上展示较好的交互界面,就需要在实现阶段根据对应的尺寸单位进行兼容性开发。...近期在实际项目过程中,小编接触到了一些尺寸度量单位,下面进行简单的总结。 介绍 为了按照屏幕类型对设备进行分类,Android 为每种设备定义了两个特征:屏幕尺寸和屏幕密度。...名词注释 屏幕尺寸:即系统为应用界面所提供的可见空间, 应用的屏幕尺寸并非设备的实际屏幕尺寸,而是综合考虑屏幕方向、系统装饰(如导航栏)和窗口配置更改后的尺寸。...横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。 下图为屏幕尺寸相同但像素密度不同的两个设备上图像的直观展示效果。 ? 下面将具体介绍各个尺寸度量单位。...5. sp 介绍 sp是与缩放无关的抽象像素(Scale-independent Pixel),sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是

    1.6K10

    Android获取屏幕分辨率及DisplayMetrics简介

    Android 可设置为随着窗口大小调整缩放比例,但即便如此,手机程序设计人员还是必须知道手机屏幕的边界,以避免缩放造成的布局变形问题。...手机的分辨率信息是手机的一项重要信息,很好的是,Android 已经提供DisplayMetircs 类可以很方便的获取分辨率。...通过 DisplayMetrics的 toString()方法可以获取到 DisplayMetrics的大部分 fields信息,如下是在分辨率为 480×320情况下的一些输出信息: 其中,density...与分辨率无关的度量单位可以解决这一问题,Android支持下列所有单位: px(像素):屏幕上的点。 in(英寸):长度单位。 mm(毫米):长度单位。 pt(磅):1/72英寸。...dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 dip:与dp相同,多用于android/ophone示例中。

    4.1K20

    获取屏幕上正在显示的activity 博客分类: Android小技巧

    用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。...仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。...而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。 getRunningTasks有个整型参数,表示返回列表的最大个数。...那么,我们如果把1作为参数给进去,那么他返回的task就是当前运行的那个task,然后从task中获取到最顶层的activity,这个activity就是当前显示给用户的那个activity了。...("", "pkg:"+cn.getPackageName()); Log.d("", "cls:"+cn.getClassName());           至于这个能做什么,嘿嘿,我相信你知道的。

    2.9K30

    Android 适配各国语言、屏幕尺寸、系统版本及常见适配方法总结

    前言 全世界安卓智能手机语言不相同,由于各厂家生产出的系统、屏幕也各异,随着SDK不断更新不同版本也有区别,android适配技能日益成为必不可少的一项专业技能。...二、屏幕适配 Android是用尺寸和分辨率这两种常规属性对设备加以分类。在我们开发项目中应该提供一些可选资源,针对尺寸和分别率来优化我们的界面外观。...前面提到了Layout适配尺寸有4种:小(small),普通(normal),大(large),超大(xLarge) 所以,我们可以在资源文件Layout根目录创建不同尺寸的目录,系统会根据app所运行的设备屏幕尺寸...6.获取屏幕分辨率信息,进行动态适配:DisplayMetrics metrics =newDisplayMetrics(); getWindowManager().getDefaultDisplay...().getMetrics(metrics); (2)手机横竖屏切换兼容适配 我们会把屏幕设置成单一的横屏或竖屏,设置的方法是去AndroidMaifest.xml中把activity中的android

    1.4K50

    【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 )

    文章目录 一、获取设备状态栏高度 二、获取设备屏幕数据 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 上一篇博客 【Android 屏幕适配】屏幕适配通用解决方案...布局 , 需要完成如下操作 : 首先 , 要 获取到实际的设备屏幕数据 , 如 手机屏幕实际宽高 , 屏幕像素密度 DPI 等数据 ; 然后 , 计算实际设备的宽高 , 扣掉状态栏的高度 , 不同手机设备状态栏高度不同...计算出在当前设备中每个组件的 实际坐标数据 ; 本篇博客中完成前两项工作 ; 一、获取设备状态栏高度 ---- 在 com.android.internal.R$dimen.class 字节码类中 ,...封装了 设备屏幕尺寸相关属性 , 在这里我们需要获取该字节码类中的 system_bar_height 属性值 ; 首先 , 通过反射获取 com.android.internal.R$dimen 字节码对象...方法 获取 Android 系统服务进行获取该实例 ; // 获取当前设备的屏幕信息 WindowManager windowManager = (WindowManager

    97810

    用轻量服务器搭建imgproxy来获取不同尺寸的图片

    常见的在图片列表页面显示的64*64的小缩略图,在瀑布流模式下显示的中型尺寸图片,以及原图模式下显示的完全尺寸的原图。...通过名字就知道,这是一个图片代理服务,简单的来说,这个软件会反代真正的图片地址,当请求图片的时候,请求的是imgproxy的图片地址,然后imgproxy再去请求原始图片,将其转换为要求的尺寸和格式以后...购买服务器 如果没有服务器的话,需要先购买一台腾讯云的轻量服务器。...轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境...#设置允许的原始图片地址,用逗号隔开,这样可以防止别人滥用服务。

    1.7K40

    实践 | Google IO 应用是如何适配大尺寸屏幕 UI 的?

    应用在大尺寸屏幕 (平板、可折叠设备甚至是 Chrome OS 和台式个人电脑) 上的使用体验是我们的关注点之一: 在过去的一年中,大尺寸屏幕的设备越来越受欢迎,用户使用率也越来越高,如今已增长到 2.5...因此,让应用能充分利用额外的屏幕空间显得尤其重要。本文将展示我们为了让 Google I/O 应用在大尺寸屏幕上更好地显示而用到的一些技巧。...一直都可以创建在多种屏幕尺寸上可用的布局,这都是由 match_parent 尺寸值、资源限定符和诸如 ConstraintLayout 的库来实现的。...△ 宽屏幕设备上的设置界面 请您阅读这则关于支持不同屏幕尺寸的 指南,获得常见尺寸分界点的参考信息。 转换内容 Codelabs 功能与设置功能有相似的结构。...在宽尺寸屏幕上,这些列表项会转换为一格一格的卡片,卡片上直接显示了详细的内容。 △ 左图: 窄屏幕显示 Codelabs。右图: 宽屏幕显示 Codelabs。

    2.1K20
    领券