Android 解决隐藏了导航栏(虚拟按键)后弹出PopupWindow 后又显示导航栏的问题


更新

出现的原因是因为弹窗有输入框,需要弹出软键盘。。

只有在退出弹窗的时候在隐藏了。

 









隐藏导航栏的方法


public  void hideBottomUIMenu() {
    //隐藏虚拟按键,并且全屏
    if (Build.VERSION.SDK_INT < 19) { // lower api
        View v = this.getWindow().getDecorView();
        v.setSystemUiVisibility(View.GONE);
    } else if (Build.VERSION.SDK_INT >= 19) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        View decorView = this.getWindow().getDecorView();
        int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View
                .SYSTEM_UI_FLAG_FULLSCREEN;
        decorView.setSystemUiVisibility(uiOptions);

    }
}
此方法在activity的
setContentView();
前调用


在PopupWindow 中再次调用一次就可以隐藏了


contentView = inflater.inflate(R.layout.popup_stop, null);
pWindow = new android.widget.PopupWindow(-2, -2);
pWindow.setContentView(contentView);
backgroundAlpha(0.5f);
pWindow.setAnimationStyle(R.style.popupwin_style);
pWindow.setFocusable(false);
pWindow.setOutsideTouchable(false);
pWindow.setInputMethodMode(android.widget.PopupWindow.INPUT_METHOD_NEEDED);
Button button1 = contentView.findViewById(R.id.stop_yes);
button1.setOnClickListener(ccc);
TextView textView = contentView.findViewById(R.id.stop_mgs);
pWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
pWindow.setOnDismissListener(new android.widget.PopupWindow.OnDismissListener() {
    @Override
    public void onDismiss() {
        backgroundAlpha(1f);
    }
});
hideBottomUIMenu();//
//是不是需要在showAtLocation后调用才能失效,没有测试

}







评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值