Android 屏幕适配tips

1、兼容性有两种类型:设备兼容性和应用兼容性。
2、manifest.xml添加uses-feature:声明应用需要设备支持该特色功能,如果设备不支持该功能,则应用无法在设备上安装
如果应用在设备上运行的主体功能不需要支持该feature,应该将uses-feature设置为false,并在代码中动态判断:packageManager.hasSystemFeature(PackageManager.FEATURE_xxx),判断到设备不支持该功能,则调用接口disableXXX()让应用不使用该功能即可。
3、Android 为每种设备定义了两个特征:屏幕尺寸(屏幕的物理尺寸)和屏幕密度(屏幕上像素的物理密度,称为 DPI)
四种广义的尺寸:小、标准、大和特大。
还有几种广义的密度:mdpi(中)、hdpi(高)、xhdpi(超高)、xxhdpi(超超高)等。
4、屏幕尺寸是系统为您的应用界面所提供的可见空间。
应用的屏幕尺寸并非设备的实际屏幕尺寸,而是综合考虑屏幕方向、系统装饰(如导航栏)和窗口配置更改(例如,当用户启用多窗口模式时)后的尺寸。
像素密度是屏幕单位面积内的像素数,称为 dpi(每英寸的点数)。 它与分辨率不同,后者是屏幕上的总像素数。
通过提供密度独立像素(dp 或 dip)而非像素 (px) 作为您应使用的测量单位,Android 系统可帮助您实现密度独立的屏幕显示。
dp 是一个虚拟像素单位,1 dp 约等于中密度屏幕(160dpi;“基准”密度)上的 1 像素。
在定义文本大小时,您应改用可缩放像素 (sp) 作为单位(但切勿将 sp 用于布局尺寸)。
dp 单位转换为屏幕像素很简单:px = dp * (dpi / 160)
假设在某一应用中,用户的手指至少移动 16 像素之后,系统才会识别出滚动或滑动手势。在基线屏幕上,用户必须移动 16 pixels / 160 dpi(等于一英寸的 1/10 或 2.5 毫米),系统才会识别该手势。而在配备高密度显示屏 (240dpi) 的设备上,用户的手指必须至少移动 16 pixels / 240 dpi,相当于 1 英寸的 1/15(1.7 毫米)。此距离短得多,因此用户会感觉应用在该设备上更灵敏。
DisplayMetrics.density 字段根据当前像素密度指定将 dp 单位转换为像素时所必须使用的缩放系数。在中密度屏幕上,DisplayMetrics.density 等于 1.0;在高密度屏幕上,它等于 1.5;在超高密度屏幕上,等于 2.0;在低密度屏幕上,等于 0.75。此数字是一个系数,用其乘以 dp 单位,即可得出当前屏幕的实际像素数。
5、 DisplayCutout :针对刘海屏指定的屏幕裁剪区域

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值