了解开发手机的各项参数之显示屏

一起玩儿物联网人工智能小车(ESP32)——31. 0.96寸OLED-IIC显示屏模块的使用 摘要:本文介绍如何使用0.96寸OLED-IIC显示屏模块来显示各种信息 阅读详情

现在android手机越来越便宜了,所以开发的话用的最多的还是真机.作为一个程序员,如果拿着手机却在百度找手机的参数,这可不太好.

所以,让我们从程序员的角度来了解一下手机显示屏的参数.

public class MainActivity extends Activity {

	private TextView tv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);	
		setContentView(R.layout.activity_main);
		
		//获取显示屏实例
		Display d = getWindowManager().getDefaultDisplay();
		//将显示屏的信息转换成字符串
		String show = d.toString();
		
		//以逗号为分隔符对字符串断行,看起来舒服些
		StringBuffer sb = new StringBuffer();
		String[] strs = show.split(",");
		for(String str : strs)
		{
			sb.append(str+"\n");
		}
		
		//DisplayMetrics是一个描述显示屏一般信息(大小,密度,字体缩放等)的结构体
		DisplayMetrics dm = new DisplayMetrics();
		d.getMetrics(dm);
		
		//屏幕宽和高,单位是像素
		int width = dm.widthPixels;
		int height = dm.heightPixels;
		//屏幕每英寸像素点
		float xdpi = dm.xdpi;
		float ydpi = dm.ydpi;
		
		//计算宽和高是多少英寸
		float xInch = width / xdpi;
		float yInch = height / ydpi;
		
		//计算显示屏是多少英寸
		double screenInch = Math.sqrt(xInch * xInch + yInch * yInch);
		
		String sScreenInch = String.format("屏幕是 %.1f 英寸", screenInch);
		sb.append(sScreenInch);
		
		tv = (TextView)findViewById(R.id.show);
		tv.setText(sb.toString());
		
	}
}

下面是运行截图:


看到这些参数,应该有人已经猜到我用的是MX3了,吐槽下,手机太不经摔了,2次就摔花屏了鄙视


下面一一来说下参数的意思:

1. real 1080 x 1800 

这个简单,宽1080像素  高1800像素

2.density 440 (415.636 x 415.636)dpi  (dpi: dots per inch)

通用的算法是这样的,

像素密度density =  开方(1080平方+1800平方) / 屏幕英寸(这里是5.1)

那么结果是: 约等于412 dpi

难道是我数学不好?

换个方向算,若要density = 440,那么,计算过程应该是这样:

开方(1080平方+1920平方) / 5英寸 = 440 鄙视虚假宣传

3.ScaledDensity = 2.75

这个和开发就关系很大了,因为已知 屏幕像素密度是"440dpi"

那么 440 / 160 = 2.75 

为什么是除以160呢?

安卓规定,

屏幕密度是160dpi时 , 1dip = 1     px;

屏幕密度是240dpi时 , 1dip = 1.5 px;

屏幕密度是320dpi时 , 1dip = 2    px;


最后,算一下我这个手机屏幕宽高各是多少dp吧:

宽 :   1080 / 2.75 = 393 dp

高:    1800 / 2.75 = 655 dp

当然,实际计算布局高度的时候,还要减去通知栏和标题栏高度.


【鸿蒙南向开发】OpenHarmony HDF Display驱动模型解析及移植指导 驱动模型背景当前操作系统和 SOC 种类繁多,各厂商的显示屏器件也各有不同,随之针对器件的驱动代码也不尽相同,往往是某一款器件驱动,只适用于某单一内核系统或 SOC,如果要迁移到其他内核或者 SOC,可能会有不小的移植工作量。而且,不同驱动 IC 的驱动代码差异较大,产品更换驱动 IC,则又需要重新开发对应的器件驱动,造成重复工作。因此,我们尝试基于 HDF 驱动框架,编写一套较通用的 Display 器件驱动模型,尽可能降低驱动开发者的开发或移植工作量,简化器件驱动开发,提升开发效率。 阅读详情

相关推荐

安卓玩机搞机技巧综合资源-----查看手机硬件全部参数 隐藏参数 多个软件【十七】

用于查看当前手机全部参数 。隐藏参数。便于识别二手机 翻新机 返修机换屏机等

小马哥的专栏 7841

[整理]Android屏幕适配(不同的屏幕分辨率和尺寸)

Android屏幕适配目录:Android屏幕适配 概念区分 换算关系 划分标准 Android手机常见尺寸和对应分辨率 部分Android测试机分析在实际开发过程中,会遇到不同的机型,为了让控件和布局要在不同屏幕上显示相近的样子,就得在drawable-ldpi/mdpi/hdpi/xhdpi/xxhdpi不同的文件夹下放置图片素材或者在xml中用dp作为间距单位,用sp作为文字的单位。因此要搞清

TTKatrina的博客 3万+

SSD1306 OLED显示屏驱动开发实战指南

OLED(有机发光二极管)是一种显示技术,它使用有机化合物在电流通过时发光。与传统的液晶显示屏(LCD)相比,OLED屏幕不需要背光,因此可以实现更薄的设计和更高的对比度。每个像素点都可以独立控制,这使得OLED屏幕在黑色显示时更黑,从而提升了色彩对比和画面深度。SSD1306是一款常用的OLED显示驱动IC,负责控制OLED屏幕上的每个像素点。它具有内置的电压转换器和电荷泵,可以提供稳定的电源和驱动信号给OLED屏幕。

weixin_26854475的博客 1956

安卓分辨率的相关知识

一般概念 分辨率:像素点数,一般描述为『宽*高』,如480*800,1080*1920 一般是宽*高,而不是高*宽 屏幕大小:手机对角线的物理尺寸,单位inch,如5寸手机指的是对角线的长度为5寸=5*2.54=12.7cm 密度(dpi,ppi:每英尺点数或者每英尺像素),如一部5英寸的手机分辨率是1080*1920,那么他的DPI就是首先算出对角线的长度=220

赤耳A狼 1070

2.4寸TFT显示屏技术与应用指南

TFT显示屏是一种活动矩阵式液晶显示设备,它通过在玻璃基板上涂覆薄膜晶体管来实现每个像素的独立开关控制。与传统的被动矩阵显示技术相比,TFT提供了更优秀的图像质量和更快的响应速度,因此广泛应用于笔记本电脑、平板电脑、智能手机和各种显示器中。在类型上,TFT可以进一步细分为多种不同的面板类型,例如IPS(In-Plane Switching)、VA(Vertical Alignment)和TN(Twisted Nematic)等,每种类型都有其特定的优势和适用场景。

weixin_36047538的博客 1228

IIC接口OLED显示屏技术详解与实战指南

OLED(有机发光二极管)显示技术是一种革命性的显示技术,其核心在于利用有机材料在电流通过时自行发光的特性。与传统的LCD(液晶显示)技术相比,OLED屏幕不需要背光源,每个像素单独发光,这赋予了OLED屏幕更高的对比度、更广的色域、更低的功耗,以及更出色的视角表现。OLED技术的这些特性使得它成为高端智能手机、电视和可穿戴设备屏幕的首选技术。SSD1306驱动芯片拥有多个引脚,每个引脚都有其特定的功能。以下是一些关键的引脚定义:VCC:电源输入引脚,为芯片提供工作电压。

weixin_35516624的博客 1392

图像分辨率速查表

格式 宽 高 像素数 宽高比 VGA 640 480 720p 1280 720 1.3M 1280 960 1080p 1920 1080 2M 1600 1200 3M 2048 1536 5M 2592 1944 5

luzhanbo207的博客 7169

Cortex-M0微控制器上TFT显示屏图片显示程序实现

Cortex-M0是ARM公司推出的基于ARMv6-M架构的微控制器核心,具备低成本、低功耗和高性能的特点。它是专为小型嵌入式系统设计的,适用于对价格和功耗敏感的应用,如各种传感器、智能仪表、便携式医疗设备等。TFT(Thin Film Transistor)显示屏因其出色的显示性能和色彩表现,已成为现代电子设备中不可或缺的组件。而在众多驱动芯片中,IL9320因其高集成度和优秀的性能表现脱颖而出,成为控制TFT显示屏的理想选择。

weixin_42433737的博客 869

Android之长度单位px,dip,sp,dpi

Android之长度单位px,dip,sp,dpi 1.关于四个单位的介绍 1.px---------像素(pixel) 比如我们的手机的分辨率是1080*2340像素,也就代表着我们的手机宽有1080个像素点,即1080像素,高有2340个像素点 2.dip(dp)-------密度无关像素(Density independent pixel) dip就是我们在程序中应用的dp,在每英寸160px的显示器上,1dp = 1px 3.dpi-----------像素密度(Dots per Inch) 这个单

Demon_T的博客 1361

基于ENVI5.6与SARscape的哨兵一号时序InSAR实战:从数据准备到PS/SBAS结果解译

本文详细介绍了基于ENVI5.6与SARscape软件,利用哨兵一号(Sentinel-1)卫星数据,进行PS-InSAR与SBAS-InSAR时序分析,以监测地表形变的完整实战流程。内容涵盖从数据下载、软件配置、预处理、核心处理步骤到结果解译与质量评估,重点解析了PS与SBAS方法的关键参数设置、常见问题及解决方案,旨在帮助用户掌握从数据准备到成果分析的完整技术链条。

oo7890的博客 634

Mplus实战:三变量随机截距交叉滞后模型(RI-CLPM)语法详解与扩展

本文详细解析了Mplus中三变量随机截距交叉滞后模型(RI-CLPM)的构建原理与语法实现。通过将变量分解为稳定的个体间差异与动态的个体内波动,模型能更纯净地揭示多变量间的纵向交互影响。文章以工作压力、睡眠质量与工作满意度为例,提供了完整的语法模板、关键参数设置(如NOCOV命令、残差相关)及结果解读指南,帮助研究者避开常见误区,稳健分析复杂动态关系。

wdx0123456的博客 927

dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算

转载:https://www.cnblogs.com/yaozhongxiao/archive/2014/07/14/3842908.html 一、基本概念 dip : Densityindependent pixels ,设备无关像素。 dp :就是dip px : 像素 dpi :dots per inch , 直接来说就是一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度 density: 直接...

snail201211的博客 1万+

人形机器人触觉革命:压电式电子皮肤的多模态感知与自修复技术突破

本文深入探讨了压电式电子皮肤如何推动人形机器人的触觉革命。文章分析了其基于压电效应的多模态感知原理,能够灵敏检测压力、振动与温度,并重点介绍了赋予电子皮肤自修复能力的动态共价网络等前沿材料技术,从而极大提升了机器人与物理世界进行精细、安全交互的可靠性与智能化水平。

weixin_29251567的博客 194

ua获取手机型号_你手机里的秘密,这个App全都能查出来

每当新机发布,大家最感兴趣的可能就是配置参数,比如这台手机屏幕来自哪家厂商,相机传感器分别是什么,处理器又是哪款?但通常用户能够公开获得的数据并不全面,大多是些规格参数,比如屏幕分辨率 2K、内存 8GB、电池 4000 毫安之类的。除了明面上能看到的规则参数,很多硬件的详细参数其实被厂商隐藏了,如果不了解一些工程信息,普通用户根本看不到,也就很难了解自己将要购买,或正在使用的手机到底如...

weixin_29358053的博客 2861

20240128 C#与SCPI协议实战:轻量级仪器控制库ScpiNet应用指南

本文详细介绍了轻量级C#库ScpiNet在仪器控制中的应用。相较于传统的NI-VISA,ScpiNet无需安装庞大运行时,通过纯C#实现直接与USB或以太网设备通信,支持跨厂商SCPI仪器。文章提供了从快速连接到实战封装、错误处理的完整指南,帮助开发者构建简洁高效的自动化测试系统。

h9j8k7l6m5n的博客 548

Qt:一个强大而灵活的跨平台应用程序开发框架

代码示例中的源代码是简单的示例,用于演示Qt框架的一些基本特性。实际应用中,开发人员可以根据自己的需求和项目要求,使用Qt框架提供的丰富功能和组件进行开发。在Qt的官方文档和示例代码中,您可以找到更多详细的教程和示例,以帮助您更好地理解和使用Qt框架。它提供了丰富的工具和功能,支持跨多个平台进行开发,并具有高度的可定制性和灵活性。它提供了丰富的工具和功能,使得开发人员能够创建高性能、可扩展和易于维护的应用程序。下面将详细介绍Qt框架的优点,并提供一些相关的源代码示例。

CodeVorter的博客 853

了解开发手机的各项参数之UI大小

上一篇讲了获取显示屏的一些参数,那么今天说下怎么获得系统UI的一些参数. 下面是一个获取状态栏高度的例子. public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.o

菜鸟的Android之路 689

执行任务赚积分

接下来N行,每行两个空格分隔的整数(SLA和V),SLA表示任务的最晚处理时间,V表 示任务对应的积分。每个任务都有最晚处理时间限制和积分值,在最晚处理时间点之前处理完成任务才可获得对应的积分奖励。现有N个任务需要处理,同一时间只能处理一个任务,处理每个任务所需要的时间固定为1。可用于处理任务的时间有限,请问在有限的时间内,可获得的最多积分。第2个时间单位内,处理任务4,获得5个积分。输入描述:第一行为一个数N,表示有N个任务,1

面试高手的博客 4695

0.96寸OLED显示屏详解

IIC 通信通常也叫 I2C,I2C( Inter-Integrated Circuit ),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦( Philips )公司在 1980 年代初设计的一种串行、半双工的通信,主要用于近距离、低速的芯片之间的通信。I2C 总线有两根双向的信号线,一根数据线 SDA 用于收发数据,一根时钟线 SCL 用于通信双方时钟的同步。

码到成功 9822

RK3588更新NPU驱动的方法

想要在 RK3588 上跑一下 deepseek 的大模型,发现目前的内核提供的 NPU 驱动比较低,无法支持新的大模型,所以需要更新一下我们的 NPU 驱动本次更新的NPU驱动仅适用于RK3588和RK3676系列。

荻夜的博客 2151

华为OD机考双机位C卷 - 风险投资计划(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 风险投资计划(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 547

Android手机硬件信息Build

Build.BOARD // 主板  Build.BRAND // Android系统定制商  Build.CPU_ABI // cpu指令集  Build.DEVICE // 设备参数  Build.DISPLAY // 显示屏参数  Build.FINGERPRINT // 硬件名称  Build.HOST  Build.ID // 修订版本列表  Build.MANUFACTURER //

zj_loving的专栏 706

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java获取手机dpi_DisplayMetrics类 获取手机显示屏的基本信息 包括尺寸、密度、字体缩放等信息...

概述一、常量int DENSITY_DEFAULT  整个系统使用的参考密度,系统默认参考密度int DENSITY_HIGH    高密度显示屏的标准量化DPIint DENSITY_LOW     低密度显示屏的标准量化DPIint DENSITY_MEDIUM   中密度显示屏的标准量化DPIint DENSITY_TV      针对一些常见显示屏设置的次要密度int DENS...

weixin_35915120的博客 410

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

手机画面尺寸多少满屏_手机屏幕科普

各位朋友回想一下,在我们一天当中有多长的时间是通过各种各样的屏幕来获取信息的呢,电脑,手机,电子阅读器,智能可穿戴设备。以后我们每天与各种屏幕交互的时间只会越来越多不会越来越少。但是当提及到屏幕的一些详细参数的时候我们对它们的了解似乎知之甚少。下面就教教大家如何选择一块好的手机屏幕吧hhhh。我们总会听到画面的 720P,1080P,4K,2K这些参数,他们代表的是屏幕的分辨率,也就是屏幕中所能显...

weixin_35915828的博客 5989

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【亲测免费】 点亮MIPI显示屏的利器:SSD2828硬件电路设计详解

点亮MIPI显示屏的利器:SSD2828硬件电路设计详解 【下载地址】SSD2828硬件电路资源下载分享 SSD2828硬件电路资源下载本仓库提供了一个名为“ssd2828的电路.pdf”的资源文件,该文件详细描述了SSD2828芯片的硬件电路设计 ...

gitblog_06695的博客 2204

android 代码 手机硬件信息吗,Android Build类如何获取手机硬件信息

Android Build类是怎么到获取手机硬件信息的呢?别着急,接下来就让学习啦小编来教下大家吧,快来看看吧,希望能让大家有所收获!了解获取手机硬件信息的Android Build的相关类1. Build.BOARD // 主板2. Build.BRAND // android系统定制商3. Build.CPU_ABI // cpu指令集4. Build.DEVICE // 设备参数5. Bui...

weixin_34297863的博客 646
上一篇: 菜鸟学步之磨刀石篇
下一篇: 了解开发手机的各项参数之UI大小
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值