读取屏幕参数的方法

提供几种方法获得屏幕参数, 包括分辨率,像素密度,伸缩密度

1.通过WindowManager获得默认的显示参数

WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Log.d(TAG, " X: " + display.getWidth() + " Y: " + display.getHeight());

result:
X: 720 Y: 1184

2.通过Point类获得坐标

Point displaySize = new Point();
display.getSize(displaySize);
Log.d(TAG, " Point.X: " + displaySize.x + " Point.Y: " + displaySize.y);

result:
Point.X: 720 Point.Y: 1184

3.通过DisplayMetrics获得详细的参数

DisplayMetrics dm = getResources().getDisplayMetrics();
Log.d(TAG, " dm.Xdpi: " + dm.xdpi + " dm.Ydpi: " + dm.ydpi);
Log.d(TAG, " dm.X: " + dm.widthPixels + " dm.Y: " + dm.heightPixels);
Log.d(TAG, " dm.densityDpi: " + dm.densityDpi );

result:
dm.Xdpi: 268.941 dm.Ydpi: 268.694
dm.X: 720 dm.Y: 1184
dm.densityDpi: 320

4.获得scaledDensity,即伸缩密度, 取值为 ppi/160。
举例来说,16dp大小的文字,在不同分辨率上显示的效果多大的像素就是这个值决定的,公式为:
px = dp × scaledDensity

float scale = this.getResources().getDisplayMetrics().density;
float scaledDensity = this.getResources().getDisplayMetrics().scaledDensity;
Log.d(TAG, " scale " + scale + ", scaledDensity: " + scaledDensity);

result:
scale 2.0, scaledDensity: 2.0

查看更多
dp, dpi, ppi, sp, px 详细介绍

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32是一款强大的微控制器芯片,可以用于各种应用,其中包括读取MPU65屏幕。MPU65是一块非常流行的触控屏屏幕,它可以与STM32芯片集成,实现丰富的功能和交互性。 通常情况下,STM32和MPU65会根据特定的通信协议进行通信。这些协议可以是SPI、I2C或UART等。这些协议中,SPI是最常用的一种,因为它可以高速地进行数据传输。 首先,需要在STM32上配置SPI或其他通信协议。这个过程需要熟悉芯片的寄存器,掌握各种配置参数,以及了解MPU65的通信要求。在配置完成后,可以在STM32上设置中断或轮询,以根据需要获取或发送数据。 接下来,需要编写相应的程序代码,实现STM32读取MPU65屏幕的数据。这个过程需要一定的技术储备和经验,需要熟悉STM32和MPU65的指令集,了解各种数据的结构和含义,同时需要对数据处理、异常处理和协议分析有深刻的认识。 最后,需要进行测试和调试,以确保STM32能够正常地读取MPU65屏幕的数据。这个过程需要一定的实验室设备和测试工具,同时需要对实验结果有深刻的分析和判断,以推进进一步的优化和改进。 在使用STM32读取MPU65屏幕的过程中,需要注意一些细节问题。例如,SPI的时钟频率、数据位宽和传输模式等,都需要根据实际情况进行调整和优化。同时,需要尽可能减少程序的延迟和阻塞,以实现更高效的数据处理和响应。 总之,需要具备一定的技术储备和实践经验,才能够实现STM32对MPU65屏幕读取。在不断地实践和探索中,可以不断提升技能和能力,进而实现更加复杂和高端的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值