Android屏幕适配3-动态获取屏幕宽高及动态设置控件宽高

本文介绍了在Android开发中如何处理屏幕适配问题,通过动态获取屏幕宽高并据此设置控件宽高,实现不同屏幕设备上的统一显示效果。文章详细阐述了解决思路和具体步骤,包括计算缩放比例的方法,并提醒在某些情况下需在AndroidManifest.xml中添加配置以正确获取尺寸。
摘要由CSDN通过智能技术生成

1、问题

在屏幕适配中,要求应用在不同的屏幕上显示一样的效果时,我们的布局可以采用百分比来定位,也就是 layout_weight,但对于一些层层嵌套或更加复杂的情况下,使用百分比的效果并不是很好,页无法解决一些问题,比如文字大小。

2、解决思路

我们可以根据屏幕大小重新对布局以及布局内的对象大小进行调整。原理类似于我们用播放器看视频的时候,无论怎么调整窗口大小,播放器都可以自动调整视频大小适合窗口大小。因为视频有一个原始分辨率,播放器会根据窗口实际大小对视频进行缩放

我们写布局的时候一般是根据某个基准分辨率来(比如 UI 给的原型图),自动缩放布局的作用就是将这个基准布局乘以一个缩放比例,达到适配所有分辨率的目的。

计算缩放比例公式:实际大小/设计大小=缩放比例

只需要给定一个设计大小,就可以计算缩放比例,然后将布局内部所有元素的尺寸都乘以这个缩放比例,就可以适配实际屏幕了。

3、具体步骤

3.1、获取手机屏幕宽高

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
// 屏幕宽度ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值