问题说明
咱们项目里用的那个第三方UI库,就是那个叫native-base的,版本是3.4.2,里面有个Actionsheet组件。但是呢,我们发现在realme V11 5G这款手机上,这个Actionsheet出了点兼容性的小问题。具体来说,就是这个弹窗的高度被压缩得特别小,结果里面的内容都显示不全,整个弹窗的内容都看不清楚,这就有点影响用户的操作体验了。
Actionsheet正常时界面情况如下:
Actionsheet异常时的界面情况如下:
PS: 黑色框是Actionsheet的Actionsheet.Content的边框;蓝色边框是其中业务内容区域的边框(业务内容区域设置了固定的高度)
解决方案
我瞅了一眼咱们用的native-base里的Actionsheet代码,发现它其实还是基于React Native自带的那个Modal控件。我就想,要是直接用Modal来搞,说不定能把那个问题给解决了。所以我就试了试,把Actionsheet换成了Modal,然后重新打包了应用,发给了那些手机有问题的用户。结果他们用了两周,那个问题就没再出现过。看来这招还挺管用的!
关键代码的改动如下
说明:
1、Actionsheet 换成 Modal
2、Actionsheet.Content 换成View