Android camera开发解决honor等机型toolbar透明问题

camera开发自定义UI,拍照预览页面顶部有toolbar,在华为honor手机上,出现如下奇葩问题:

> toolbar透明,但是toolbar上的按钮(back、闪光灯)点击事件依然生效。

开始以为是surfaceview的问题,后研究发现问题关键在于:底部有navigationbar,当我在系统设置里隐藏navigationbar后,toolbar正常显示了。

找到关键点就开始着手解决了!

首先navigationbar沉浸,以上问题解决(19及其以上支持.)

>又出现toolbar被statusbar遮挡问题,fitsystemwindow。

沉浸效果消失,UI极度丑陋,删除fitsystemwindow,toolbar加一层viewGroup包裹,并设置statusbar高度的paddingTop,并给此viewGroup设置背景颜色,问题解决。

以上,解决了问题一和问题二,既解决了camera预览,华为honor手机toolbar透明问题,又顺便实现了statusbar和navigationbar沉浸,美化UI,但是紧接着又出现了问题三:

manifest中配置的,针对editText和键盘的adjustSize属性失效,点击屏幕下方的editText 键盘会遮挡。

后研究发现是没在根布局配置fitsystemwindow属性,但是如果配置这个属性,沉浸就没啥效果了...怎么办?

自定义根布局,重写fitSystemwindow(Rect)方法,把rect.Top=0,具体改天上代码/截图。

哎,忙活一天就解决了这么个破事儿,烦躁。。。。

你可能感兴趣的:(Android camera开发解决honor等机型toolbar透明问题)