razerdp/BasePopup

支付宝支付结果回传后马上打开popup,会出现布局底部入侵操作栏的问题

q88qaz opened this issue · 10 comments

支付宝支付结果回传后马上打开popup,会出现布局底部入侵操作栏的问题
视觉效果就是
布局底部的控件被虚拟按键覆盖了,导致控件不可点击

推测关键代码:
BasePopup.java
@OverRide
protected void initView() {
getContentView().setPadding(0, BarUtils.getStatusBarHeight(), 0, 0);
}

如果不是从支付宝回传结果进入到这个popup,则无此问题

看起来这是你的业务代码,跟我这边没啥关系。
另外也跟支付宝没啥关系,纯粹是前后台切换而已。

……

@SuppressLint("HandlerLeak")
@SuppressWarnings("unused")

/**
 * 支付宝支付结果获取和处理 同步回调
 */
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
    @SuppressWarnings("unused")
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case Constant.ALIPAY_FLAG: {

@SuppressWarnings("unchecked")

setClipChildren(false);
是否这个方法影响到了布局边界

很奇怪的一个现象,布局正常时,底部操作栏背景黑色
布局入侵时,底部操作栏背景透明

问题出在支付宝SDK,
手机未安装支付宝时,会使用SDK拉起一个网页的支付页面, com.alipay.sdk.app.H5PayActivity
此时底部操作栏被入侵,之后弹出popup时,布局发生异常