我的dialog全屏覆盖状态栏栏常年不够用,要是刘海屏要怎么办

【图片】安卓机为啥要跟风刘海屏【wp7吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:303,429贴子:
安卓机为啥要跟风刘海屏收藏
安卓系统的状态栏管理就一直是个问题,那么长一串图标,我不认为谷歌会针对刘海屏有优化,我也不认为国内厂商会遵循谷歌的优化
看图一,系统状态的图标都跑到刘海里去了,这还是没有软件推送的时候。我的星星星日常状态栏就是整个顶部的三分之二。刘海屏怎么办
但是苹果对刘海屏系统有适配,比如只显示重要的几个,特殊状态的时候时间那一块变色,或者是右边突出显示。
就状态栏来说,谷歌一定会对刘海屏有优化,而国内厂商也不需要遵循谷歌优化,只要推出刘海屏产品,自然会优化 又不难。
而且主要是刘海屏不好看啊。。跟风啥不好跟风刘海屏
致敬乔布斯啊
苹果可以。。国内定制化系统就不可以吗不就是中间不显示罢了
那是你的星星星
看我的冰冰冰就没有这么多
图片并不是18:9,看起来蛮漂亮的,还没量产
图标问题不大,就是通知有点麻烦
点亮12星座印记,
因为苹果做了,就像耳机孔一样,没有别的理由,就因为苹果做了,他们就要做
最后安卓的软件,无非就是强行拉伸,或者就是正常的16:9,然后厂家再适配几个软件宣传一下。观望一下安卓上刘海屏吧
android 9适配刘海屏
给你们看一下没有适配ipx的软件,显示区域…
不会买刘海屏
这个完全不需要Android系统适配,自身UI就可以适配
大众审美都变成这样了?我是不是老了
国外不是早就出了?那个什么安卓创始人的手机
以前我买手机标准是不带耳机孔的不买,现在又可以增加一条了
供应链有,爱要不要的结果
游戏肯定是按照屏幕比例直接拉伸,那我就想,没有苹果那种特定机型的优化,安卓这种直接拉伸的玩游戏会是什么样,你还指望游戏给你专门做一套ui吗?
毫无压力,推送都从左边来的
适配比你想象的容易的多
全屏游戏适配麻烦了
应该是系统上屏蔽刘海那一整块,剩下的就是正常屏幕。至于挡住图标这种事情改一下UI就行了
反正我不买,否则状态栏东西都挤不下了
因为苹果做了=做了没风险厂商是为了挣钱而不是讨好78er
登录百度帐号华为:三四年前就考虑刘海设计!苹果:刘海屏我研发了五年!华为:三四年前就考虑刘海设计!苹果:刘海屏我研发了五年!极客码头百家号华为对于刘海屏,可以说是吃了秤砣铁了心,荣耀10发布,成为了华为第四部刘海屏机型。不过众所周知,iPhone X是世界上第一款搭载刘海屏的手机,而华为P20发布时,网友们对于P20的外观也是褒贬不一。甚至有人说不管是什么品牌,只要带刘海就坚决不买。华为的刘海屏早已有之?这次是华为手机产品线副总裁的表态:华为早在三四年前就考虑过刘海屏幕设计,但一直担心一个问题就没有使用,而被iPhone X抢了先。尽管刘海打破了对称性,但是它确实有用,安卓手机的状态栏中间往往是空的,刘海实际上把状态栏抬高了一些,为用户提供了更多的屏幕空间。苹果敢于使用刘海设计是一种勇气,由于华为太保守,错失了开创刘海设计先河的机会。当然这也不是华为第一次回答刘海屏造型的问题,此前华为手机产品线总裁何刚接受采访时的表态:刘海屏只是全面屏前进的过度阶段,因为摄像头、听筒暂时没办法去掉,未来手机正面一定是一整块屏幕。关于纵向排列双摄,华为两年前设计P9的时候就已经在布置这样的设计方案,一年前已经有了这样的设计。嗯嗯,看到这里,感觉华为真厉害呢,那来看看苹果对于刘海造型屏幕是如何解释的!苹果的刘海屏研发了5年?2017年10月,苹果首席设计总监Jony lve接受采访表示:iPhone X早在5年前就着手设计,并立项研发了。苹果内部的设计师全是人才,说话又好听……想法也天马行空。2014年下半年,iPhone 6发布的时候,iPhone X原型机就已经打造成功,但当时的技术达不到标准,原型机比较厚重。所以只能放弃。研发iPhone X过程中,还曾尝试过屏下指纹,但不完美。看完华为和苹果公司的表态,小饭真是觉得受够了。说句不中听的,大公司装的逼也并不是特别圆,甚至有点装“肿”了。写在后面的先说说iPhone X吧,乔布斯生前确实想要做出一款没有任何实体按键的手机,和我们今天的全面屏不谋而合。但你苹果公司早不推出刘海屏,晚不推出刘海屏,偏偏是在全面屏火爆的2017年,推出iPhone X,真当我们智商不够用?分明就是赶着全面屏的浪潮匆匆赶制而已,要不是全面屏普及,估计苹果还会继续套娃下去吧。就算是iPhone X发布,也不忘再发一部套娃产品iPhone 8。iPhone X也算成功,就不要出来忽悠说研发了5年了行吗,想当全面屏概念创始品牌?对于华为,小饭只能说还是控制控制吧,三四年前想到刘海屏,我们是愿意相信的,但是这些话还是内部说说就好了,没必要公之于众,有马后炮嫌疑,太容易招黑了。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。极客码头百家号最近更新:简介:数码测评大师,还原科技最真实的一面!
作者最新文章相关文章红米手机 &
电视盒子 &
智能硬件 &
神仙级手机控
楼主的荣誉
扫码下载App一键签到 升级加速
我想知道刘海屏的状态栏是怎么显示的,很多通知图标怎么放的!
扫一扫!手机看帖更爽
我想知道刘海屏的状态栏是怎么显示的,很多通知栏的图标怎么放?!&&&&&&去刘海后,又是个什么样子。另外,米8的小爱支持熄屏叫醒么。做个红外摇控难道很难吗?耳机接口搞一个成不成?好不容易抢到个2S顶配的,相机卡我能忍啊,前摄不好用我也认啊,再没红外我也能将就的,可干嘛给我个阴阳屏啊,不可能忍啊~~~~~~~~~~~
扫描二维码,手机查看本帖
估计堆一块显示不出来吧。。就那么点地儿。。
京ICP证110507号 京ICP备号Android 系统(70)---Android刘海屏适配方案
Android刘海屏适配方案什么是刘海屏随着iPhone X发布,国内一些厂商也推出了刘海屏手机,即将发布的Android p也提供了对刘海屏的支持。so,我们的app也要提前做好适配。屏幕的正上方居中位置(下图黑色区域)会被挖掉一个孔,屏幕被挖掉的区域无法正常显示内容,这种类型的屏幕就是刘海屏,也有其他叫法:挖孔屏、凹凸屏等等,这里统一按刘海屏命名。目前国内厂商已经推出的刘海屏Android手机有华为P20 pro, vivo X21,OPPO R15没有适配刘海屏的后果后果一:导航栏中title被遮挡后果二:显示内容下移,头部出现黑条,底部出现遮挡后果三:下移导致相机预览界面布局问题:
如何适配刘海屏后由于Android p正式版今日刚发布, 当前市面上的Android 刘海屏手机还不能用Android 官方提供的方案来解决,那怎么办呢?还好几个厂商自己给出了适配方案。我们先讲理论后上代码,如果您只想要代码就直接往下翻:华为P20 pro官方文档:https://devcenter-test.huawei.com/consumer/cn/devservice/doc/50114华为给出的文档最为详细(业界良心),P20 pro预装系统对未做刘海屏适配处理的app有一定处理,处理逻辑如下:可见,会被华为系统做偏移处理的有2种情况:1.未设置meta-data值,页面横屏状态2.未设置meta-data值,页面竖屏状态,不显示状态栏这2种情况都会出现后果二。如果你的app中页面没有这两种情况,例如都是竖屏且显示状态栏,你就可以淡定地不做处理。现在我们知道原因了就可以对症下药了,这里给出我推荐的解决方案(官方给出的解决方案不止一种,可以根据自己的需要采用) 分为4步:1.配置meta-data&meta-data android:name="android.notch_support" android:value="true"/&①对Application生效,意味着该应用的所有页面,系统都不会做竖屏场景的特殊下移或者是横屏场景的右移特殊处理:② 对Activity生效,意味着可以针对单个页面进行刘海屏适配,设置了该属性的Activity系统将不会做特殊处理:2.检测是否存在刘海屏:public static boolean hasNotchInScreen(Context context) {
boolean ret = false;
ClassLoader cl = context.getClassLoader();
Class HwNotchSizeUtil = cl.loadClass("com.huawei.android.util.HwNotchSizeUtil");
Method get = HwNotchSizeUtil.getMethod("hasNotchInScreen");
ret = (boolean) get.invoke(HwNotchSizeUtil);
} catch (ClassNotFoundException e) {
Log.e("test", "hasNotchInScreen ClassNotFoundException");
} catch (NoSuchMethodException e) {
Log.e("test", "hasNotchInScreen NoSuchMethodException");
} catch (Exception e) {
Log.e("test", "hasNotchInScreen Exception");
} finally {
}}3.获取刘海屏的参数public static int[] getNotchSize(Context context) {
int[] ret = new int[]{0, 0};
ClassLoader cl = context.getClassLoader();
Class HwNotchSizeUtil = cl.loadClass("com.huawei.android.util.HwNotchSizeUtil");
Method get = HwNotchSizeUtil.getMethod("getNotchSize");
ret = (int[]) get.invoke(HwNotchSizeUtil);
} catch (ClassNotFoundException e) {
Log.e("test", "getNotchSize ClassNotFoundException");
} catch (NoSuchMethodException e) {
Log.e("test", "getNotchSize NoSuchMethodException");
} catch (Exception e) {
Log.e("test", "getNotchSize Exception");
} finally {
}}4. UI适配没错,第1步仅仅是告诉EMUI系统不要瞎操作你的页面,真正适配的活还要你自己干。①判断是否刘海屏,代码上面给出了②如果是刘海屏手机需要应用自己调整布局避开刘海区,布局原则:保证重要的文字、图片和视频信息、可点击的控件和图标还有应用弹窗等等布局建议显示在状态栏区域以下(安全区域);不重要,遮挡不会出现问题的布局可以延伸到状态栏区域(危险区域)显示,按照这种布局原则修改,可以一次修改就能适配所有的刘海屏手机:vivo & OPPOoppo官方文档:https://open.oppomobile.com/service/message/detail?id=61876vivo官方文档:https://dev.vivo.com.cn/doc/document/info?id=103vivo 和 OPPO官网仅仅给出了适配指导,没有给出具体方案,简单总结为:如有是具有刘海屏的手机,竖屏显示状态栏,横屏不要在危险区显示重要信息或者设置点击事件。那怎么知道是不是刘海屏手机呢?OPPO判断方法:public static boolean hasNotchInOppo(Context context){
return context.getPackageManager().hasSystemFeature("com.oppo.feature.screen.heteromorphism");}vivo的判断方法:public static final int NOTCH_IN_SCREEN_VOIO=0x;//是否有凹槽public static final int ROUNDED_IN_SCREEN_VOIO=0x;//是否有圆角public static boolean hasNotchInScreenAtVoio(Context context){
boolean ret = false;
ClassLoader cl = context.getClassLoader();
Class FtFeature = cl.loadClass("com.util.FtFeature");
Method get = FtFeature.getMethod("isFeatureSupport",int.class);
ret = (boolean) get.invoke(FtFeature,NOTCH_IN_SCREEN_VOIO);
} catch (ClassNotFoundException e)
{ Log.e("test", "hasNotchInScreen ClassNotFoundException"); }
catch (NoSuchMethodException e)
{ Log.e("test", "hasNotchInScreen NoSuchMethodException"); }
catch (Exception e)
{ Log.e("test", "hasNotchInScreen Exception"); }
}}例如图一是在OPPO R15上出现的title被遮挡,显示状态栏后显示效果如下:google官方刘海屏适配方案网址:https://link.jianshu.com/?t=https%3A%2F%2Fdeveloper.android.com%2Fpreview%2Ffeaturesgoogle从Android P开始为刘海屏提供支持,目前提供了一个类和三种模式:一个类The new DisplayCutout class lets you find out the location and shape of the non-functional areas where content shouldn't be displayed. To determine the existence and placement of these cutout areas, use thegetDisplayCutout() method就是说可以用DisplayCutout这个类找出刘海(cutout)的位置和形状,调用getDisplayCutout()这个方法可以获取刘海(cutout)的位置和区域,我们看看这个类提供了什么方法:所以我们可用这个类判断是否有刘海的存在以及刘海的位置DisplayCutout cutout = mContext.getDisplayCutout();三种模式A new window layout attribute, layoutInDisplayCutoutMode, allows your app to lay out its content around a device's cutouts. You can set this attribute to one of the following values:LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULTLAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGESLAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER第一种模式:LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT : 仅仅当系统提供的bar完全包含了刘海区时才允许window扩展到刘海区,否则window不会和刘海区重叠第二种模式:LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES :允许window扩展到刘海区(原文说的是短边的刘海区, 目前有刘海的手机都在短边,所以就不纠结了)第三种模式:LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER: 不允许window扩展到刘海区我们可以设置是否允许window扩展到刘海区:WindowManager.LayoutParams lp =getWindow().getAttributes();
lp.layoutInDisplayCutoutMode=WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
getWindow().setAttributes(lp);例如一个有状态栏的页面, 我们可以这样适配:DisplayCutout cutout = getDisplayCutout();if(cutout != null){ WindowManager.LayoutParams lp =getWindow().getAttributes();
lp.layoutInDisplayCutoutMode=WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
getWindow().setAttributes(lp);}
扫码向博主提问
非学,无以致疑;非问,无以广识
擅长领域:
Android系统
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!「刘海屏」太丑?这个APP能帮你解决这个问题 - 锋潮科技
「刘海屏」太丑?这个APP能帮你解决这个问题
「刘海屏」太丑?这个APP能帮你解决这个问题
当 iPhone X 面世的时候,很多人都觉得这个&刘海屏&的设计非常丑。但苹果终归是苹果,凭借其强大的影响力,今年大部分的国产手机都不由自主地&梳起&了&刘海&。虽然&刘海&各不相同,但对于一部分来说,丑还是一样丑。
当然,部分手机厂商还是考虑到了,并不是所有的用户都喜欢这样的&刘海&设计,例如刚发布不久华为P20 就允许用户通过使状态栏变暗来隐藏缺口,据说LG G7 也有这样的设计。
其他厂商没有这样的设计怎么办呢?有应用开发者就开发出这样一款 APP,名字叫 Nacho Notch-Notch Hider。这款 APP 通过使状态栏变黑来隐藏&刘海&,然而,通知图标、时钟和其他状态栏图标在顶部仍然可以看到。当你将手机切换到横向模式时,覆盖层也会自动隐藏。
目前这款 APP 已经在谷歌市场上架,有&刘海屏&手机的朋友不妨试试。
喜欢数码科技资讯的你记得订阅[安卓中国]。根据机哥第八定律,93.94% 爱搞机的人都关注了「好机友」微信公众号【微信号:goodjiyou】,看啥看,就差你啦~登陆[锋潮科技]官网浏览更多精彩内容(https://www.anzhuo.cn)

我要回帖

更多关于 android 屏蔽状态栏 的文章

 

随机推荐