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

    文章

    3850

    浏览量

    125626
  • Layout
    +关注

    关注

    13

    文章

    395

    浏览量

    61130
收藏 人收藏

    评论

    相关推荐

    【分享】迅为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中实现屏幕关闭超时的正确方法是什么?

    我在 CUSTOM IMX8MPlus 板上使用 Android 11.2.6。我想在 10 秒后实现屏幕超时,然后双击再次打开屏幕。 如果我在 Settings.System 中写入值
    发表于 04-14 07:15

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

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

    小米9和小米MIX 3 5G版将支持新一代Android Q系统

    就在Android Q系统发布不久后,@小米手机 官微宣布小米9和小米MIX 3 5G版率先入围Android Q体验计划,其中,小米MIX 3 5G版是首款支持
    发表于 05-08 16:25 1271次阅读

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

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

    一加电视将搭载Android TV系统,且获得长时间的软件支持

    近日,据消息报道,刘作虎透露了更多关于一加电视的细节,他表示,由于和谷歌牢靠的合作关系,一加电视将搭载Android TV系统(国外版),而且一加电视将获得相当长时间的软件支持,一加将会提供至少3年的
    的头像 发表于 08-30 13:04 1006次阅读

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

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

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

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

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

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