0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

android系统怎么支持多种屏幕

电子设计 来源:工程师曾玲 2019-10-03 16:12 次阅读

支持多种屏幕

android运行在不同尺寸和像素(密度)的设备上,android系统给应用程序提供了一个相同的环境去适应不同的UI显示界面。同时系统提供API让应用程序去控制UI在不同尺寸和密度的屏幕上的显示效果,因为我们肯定不希望在手机和平板上显示一样的效果。

尽管android系统会自动缩放你的应用程序以适应不同分辨率,但是你也必须针对不同尺寸和密度的屏幕尽量优化,只有这样才能最大程度上获得较好的用户体验。

概念

1.屏幕尺寸(Screen size):也就是我们常听到的iphone4 3.5寸 iphone4s 4寸 samsung s2 4.3寸 HTC butterfly 5寸等等,也就是屏幕的对角线长度,

然后你可以根据屏幕的长宽比计算长宽的尺寸(android 将这些分为四个等级,分别是small,normal, large, 和 extralarge)

2.像素密度(dpi):每英寸屏幕含有的像素点个数 (android 也按照像素密度分了四个等级,分别是low,medium, high, 和 extrahigh)

3.方向(Orientation):分水平和垂直,如果应用做的好的话,这两个方向都要考虑

4.分辨率(pix):也就是整个屏幕有多少个像素点组成,如果想应用程序支持不同的屏幕,那应用程序绝对不能直接根据分辨率作为单位来布局,而是应该

通过屏幕尺寸和像素密度中设定的等级来区分

5.像素无关密度(dp/dip): 一个android定义的虚拟的像素单位,你的应用程序应该用此单位来定义布局大小和位置

注意,一个dp和一个大小为160dpi的屏幕中的一个像素是相等的,所以dp和pix的换算应该是这样的real pix =dp * (dpi)/160

当你写布局文件的时候可以根据这个公式大概估算一下

(如800*480 4寸屏,计算像素密度dpi = 根号[宽的平方 + 高的平方]/屏幕尺寸,

大概算一下是240dpi左右,也就是说你定义了一个button是100dp 宽,100dp高那么实际就是100*240/160 = 150 pix 了,也就是说你这个button占据了屏幕的150/800 +150/480 ,

如1920*1080 5寸屏,计算像素密度dpi = 根号[宽的平方 + 高的平方]/屏幕尺寸,大概算一下是440dpi左右,也就是说你定义了一个button是100dp 宽,100dp高那么实际就是100*440/160 = 275 pix 了,也就是说你这个button占据了屏幕的275/1920 +275/1080 。

当然这两款手机上的显示效果还是有些差距的,计算了一下前者的button宽占据了整个屏幕宽度的0.1875 而后者的button宽占据了整个屏幕的0.1432。

可以看出来前者占据的位置要大一些,这样看起来在不同分辨率和大小的手机上效果就不太一样了。其原因在于后者的分辨率比前者大很多,但是尺寸仅仅大了一寸,这也跟厂家的定位有关系吧,尺寸小其实是根本没必要弄太大的分辨率的,因为根本看不出效果来。因此我们有必要对不同尺寸的定义不同的布局文件!!!

android系统怎么支持多种屏幕

比如上面的4寸和5寸应该定义两个layout,layout定义button的长宽为100dp,layout-large 定义button的长宽大概为131dp ;

131*440/160 = 360 ,360/1920 = 0.1875 这样就和在寸屏幕中所占的比例相同了

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3921

    浏览量

    127084
  • Layout
    +关注

    关注

    14

    文章

    402

    浏览量

    61621
收藏 人收藏

    评论

    相关推荐

    PCM2707C是否支持Android系统?PCM2707C Android应用层怎么写?

    有如下两个问题,帮忙看看,谢谢! 1,PCM2707C是否支持Android系统 2,PCM2707C Android应用层怎么写?如何获取USB上的音频数据。
    发表于 10-30 07:46

    【分享】迅为iTOP4412开发板-Android系统屏幕旋转设置

    桌面后你是感觉不到旋转动作的,比较适合产品应用,另外配置项旋转目前暂不支持180度,仅支持0,90,270度三个角度的旋转。以上是屏幕旋转的两种方式,这里屏幕旋转不考虑重力传感器的因素
    发表于 07-30 14:21

    zigbee对android支持

    请问目前TI的zigbee SOC解决方案哪些是支持android系统,在android下提供哪些接口,哪里可以找到资料
    发表于 06-21 11:55

    请问iTOP4418开发板7寸屏幕Android系统下横竖屏怎么设置?

    ` Android系统屏幕旋转设置平台: 1. Androd4.4源码可以编译成手机模式和平板模式,讯为iTop4418 开发平台的Android
    发表于 06-27 14:25

    基于Android平台怎么为多种移动客户端提供即时通信服务?

    核心是基于开源的WebKit 引擎, 对基于HTML 的各种语言具有良好的支持。图像引擎使用基于openGLES1. 0 的三维图形库。本文的研究目的就是基于Android 平台, 提出一种能为多种移动客户端提供即时通信服务
    发表于 03-18 07:17

    瑞芯微RK3399支持多种屏幕接口如何进行屏幕切换控制

    动态控制、内核设备树指定。屏幕切换飞凌RK3399系列主板支持MIPI DSI、HDMI、eDP、DP等多种屏幕接口,同时可以进行两个屏幕
    发表于 08-19 17:11

    RK3399在Android支持屏幕拼接显示吗

    RK3399/RK3399Pro系列主板和核心板在Android支持屏幕拼接显示吗?
    发表于 02-11 08:20

    怎样通过使用屏幕+触摸的方式来体验Android 8.1系统

    怎样通过使用屏幕+触摸的方式来体验Android 8.1系统呢?
    发表于 03-04 08:17

    基于Android屏幕水雾手机游戏的设计方案

    随着Android 手机系统的普及,各种Android 应用程序如雨后春笋般一下多了起来。“屏幕水雾”是基于Android 平台开发的手机游
    发表于 03-19 10:53 1897次阅读
    基于<b class='flag-5'>Android</b>的<b class='flag-5'>屏幕</b>水雾手机游戏的设计方案

    基于Android的全屏幕适配方案

    由于Android碎片化严重,屏幕适配一直是开发中较为头疼的问题。面对市面上五花八门的屏幕大小与分辨率, Android基于dp与res目录名称来适配的方案已无法满足一次编写全
    发表于 05-04 08:41 1952次阅读

    AndroidQ将支持原生大屏幕的桌面模式

    近日,XDA论坛大佬从Android Q测试版中挖掘出了一个全新的功能——原生大屏幕的桌面模式。
    的头像 发表于 05-13 10:28 2009次阅读

    Discord现已支持iOS和Android设备上的屏幕分享功能

    热门社交聊天应用 Discord 刚刚宣布了一项功能更新,为 Android 和 iOS 客户端引入了用户急需的屏幕分享功能。即日起,Discord 用户将能够高效捕获手机屏幕上显示的内容,并流式
    的头像 发表于 12-17 10:37 2517次阅读

    Android12有望支持屏幕随面部旋转功能

    据外媒TomsGuide报道,Android12将有望支持屏幕随面部旋转功能。该功能能够通过检测面部方向来实现自动旋转屏幕,解决用户躺床上玩手机时
    的头像 发表于 02-19 09:23 1207次阅读

    Android 开发最新进展 | 2022 Android 开发者峰会重点回顾

    作者 / Matthew McCullough,Android 开发者团队产品管理副总裁 近期, Android 开发者峰会 已在旧金山湾区拉开了序幕。在峰会中,我们介绍了多种帮助大家利用 现代
    的头像 发表于 11-14 17:50 1023次阅读

    【技术分享】快速在SX-3568商显主板的Android系统上实现双屏异显

    SX-3568系列智慧商显主板,支持HDMI、eDP、LVDS、MIPI DSI等多种显示接口,搭载高性能GPU,具备视频解码能力,支持4K 60FPS显示。本次选用HDMI屏幕作为主
    的头像 发表于 02-24 12:05 1165次阅读