一、前言

Galaxy S8及S8+分别搭载“5.8”与“6.2”大屏,高达84%的屏幕占比为Galaxy S8及S8+在游戏娱乐、观看视频时带来深度沉浸式视觉体验。但是与此同时S8却有着一个奇葩的屏幕比例:18.5比9,屏幕分辨率:2960×1440。通常我们在开发过程中android的标准设计图为1920×1080,ios为1334×750,默认采用16比9的比例来设计效果图。android机型众多,分辨率千奇百怪,这回三星又来添乱了,实际开发过程中还真遇到了三星S8的适配问题。

二、案例:

适配前的农药

image

适配后的农药

image

再来看看竖屏的效果:

这是未适配的网易新闻

image

这是适配了的今日头条

image

从案例可以看出来,如果不去做适配的话,屏幕的两端就会留有黑边,相当讨厌,真机体验是这样的,大家可以感受下:

image

甚至据说这上下感人的大黑边逼死了处女座。

image

其实解决APP显示问题,除了第三方应用自行适配S8之外,S8自己也可以进行调节,S8有一个功能叫做“全屏应用程序”;通过设置“全屏应用程序”既节省了用户等待应用适配的过程,也大大增加了用户体验。

image

打开全屏应用之后,效果显而易见:

image

无奈Android手机就是这样,不是太省心,用户要有点小智商才行,还是iphone比较省心,但是大部分人应该还是跟上面那位处女座一样的,我们不能要求每个用户都去手动打开全屏应用来适配APP显示,作为开发者我们还是要主动去做好适配。

三、解决办法

下面我们以开发者的身份去分析下这个问题,究其根本这个适配不过是个显示的问题,我们只需要让APP充满全屏就可以,所以我做了如下尝试:

1:给Activity设置各种noTitlebar,FullScreen,不起作用;

2:替换各种style样式,不起作用;

3:修改targetSdkVersion, compileSdkVersion为高版本,依然不起作用。

通过观察发现,凡是完美适配了18.5比9屏幕的App,在系统中已经默认是全屏应用程序了,选择框灰掉无法点击。

image

而没有做好适配的App默认是没有打开全屏应用的,用户可以自行随意选择打开或者关闭,从截图我们看出很多大厂出品的App还没有做好适配

image

所以判断系统应该是通过检测某个属性或者权限来区分当前App是否做好了适配。最后我们找到了"android.max_aspect"这个属性。

开发者只需在App的AndroidManifest.xml文件中添加如下代码:

image

对只要这一行代码就搞定三星S8的适配,所以前面都是废话,你要的代码就这一行,快快粘贴复制到你的代码中吧。

Android 标准接口中,支持应用声明其支持的最大屏幕高宽比(maximum aspect ratio)。具体声明如下,其中的 ratio_float 被定义为是高除以宽,以16:9为例,ratio_float = 16/9 = 1.778 (18.5:9则为2.056)。

若开发者没有声明该属性,ratio_float 的默认值为1.86,小于2.056,因此这类应用在三星S8上,默认不会全屏显示,屏幕两边会留黑。

android三星s8底部菜单,【Android】三星Galaxy S8及S8+的屏幕适配相关推荐

  1. android 固定底部导航,Android如何实现底部菜单固定到底部

    今天搞了很久的一个问题,导航菜单没有固定到底部,因为上面是ListView,可是没内容,于是就浮动上去了. 效果如下: 这里采用的是一个碎片,代码是: xmlns:android="http ...

  2. Android studio实现底部导航,Android 开发之BottomBar+ViewPager+Fragment实现炫酷的底部导航效果...

    BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退. ...

  3. android qq弹出菜单,Android开发实现qqminihd 左右滑动菜单效果

    类型:编程工具大小:13.8M语言:英文 评分:5.5 标签: 立即下载 观察qqminihd界面,发现其界面能够左右滑动来实现两侧菜单效果. 自定义Layout:ScrollLayout.java ...

  4. android的优酷菜单,Android利用属性动画实现优酷菜单

    利用属性动画实现优酷菜单,供大家参考,具体内容如下 布局文件 xmlns:tools="http://schemas.android.com/tools" android:layo ...

  5. android仿优酷菜单,Android自定义控件之仿优酷菜单

    去年的优酷HD版有过这样一种菜单,如下图: 应用打开之后,先是三个弧形的三级菜单,点击实体键menu之后,这三个菜单依次旋转退出,再点击实体键menu之后,一级菜单会旋转进入,点击一级菜单,二级菜单旋 ...

  6. android 收起下拉菜单,Android 展开/折叠 系统下拉通知栏

    最近几天碰到一个郁闷的问题,在有些机型上面使用PendingIntent.getActivity(context, 0, intent, 0)的方式打开一个指定的Activity后,通知栏并不主动折叠 ...

  7. android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )屏幕适配

    http://www.tuicool.com/articles/nuyMZb 1 Android手机目前常见的分辨率  1.1 手机常见分辨率:  4:3  VGA     640*480 (Vide ...

  8. php仿微信底部菜单,Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏 ...

  9. android radiogroup 底部菜单,Android底部菜单栏(RadioGroup+Fragment)美化

    众所周知,android的底部菜单栏太重要,平时项目一般都是需要用到的,但是网上关于这方面的demo做得太丑了,实在惨不忍睹,所以这里便用RadioGroup+Fragment的方式写了一个,顺便美化 ...

  10. android studio上下滚动菜单,Android模仿美团顶部的滑动菜单实例代码

    前言 本文主要给大家介绍了关于Android模仿美团顶部滑动菜单的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 先来看下效果图: 实现方法 这是通过 ViewPager ...

最新文章

  1. PointNet++:(1)网络完成的任务分析
  2. 敲诈英伟达的竟然是一群未成年???
  3. Ubuntu下安装OpenGL/Glut库
  4. How To: Team Build 自定义版本号
  5. 字符串转Unicode码
  6. 针对WildFly和EAP运行Java Mission Control和Flight Recorder
  7. 每日一道shell练习(09)——sed处理
  8. C#实现图(Graph)
  9. 谷歌紧急修复已遭在野利用的Chrome 0day
  10. C语言Socket编程(计算机网络作业)
  11. Qt实现串口通信总结
  12. Java必知必会:异常机制详解
  13. MVC4 中使用 Area 和 注意的地方
  14. MySQL字符集 GBK、GB2312、UTF8区别 解决 MYSQL中文乱码问题
  15. qq在线客服html代码,QQ在线客服JS代码,自适应漂浮在网页右侧
  16. 前端中用手机拍照压缩,上传图片压缩
  17. ArcGIS面转中心线
  18. matlab实现幂法迭代求特征值和特征向量
  19. android虚拟机接收真实短信,向Android模拟器打电话发短信的简单方法
  20. 热力学统计物理专题:系综理论

热门文章

  1. 国庆长假来啦!这些消遣目的地最适合程序员
  2. 聊一聊Dubbo的一些特性和原理
  3. NYOJ779 兰州烧饼
  4. peoplesoft 日志
  5. 用Todd Motto揭秘JavaScript
  6. JavaScript之深浅拷贝
  7. maya2018模型传递点序
  8. Super Jumping! Jumping! Jumping!超级跳!跳!跳!
  9. SpringBoot GA/PRE/SNAPSHOT含义
  10. 安卓投屏传输手机声音到电脑最简单的方式