Android:虚拟按键/导航键遮挡内容的解决方案

方案1:
这种方案底部依旧会保留虚拟导航按键。但不保留状态栏

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
方案1效果图

方案2:
这种方案不会保留底部虚拟导航按键。也不保留状态栏

/**
     * 180115 隐藏 魅族、Nexus、华为等底部的虚拟导航按键,避免遮挡内容
     *
     * @param activity 需要隐藏底部导航按键的Activity
     */
    public static void hideBottomUIMenu(Activity activity) {
        //隐藏虚拟按键,并且全屏  
        if (Build.VERSION.SDK_INT < 19) { // lower api  
            View v = activity.getWindow().getDecorView();
            v.setSystemUiVisibility(View.GONE);
        } else if (Build.VERSION.SDK_INT >= 19) {
            View decorView = activity.getWindow().getDecorView();
            int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View
                    .SYSTEM_UI_FLAG_FULLSCREEN;
            decorView.setSystemUiVisibility(uiOptions);
        }
    }
方案2效果图

方案3:
这种方案在很多手机中都不生效。
这种方案会保留底部虚拟按键,也会保留状态栏

<!-- CnPeng 点击广场列表中的条目后跳转到该界面 -->
        <activity
            android:name="com.zjelite.square.activity.ShareDetailsOfSquareActivity"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize"/>

参考:https://www.zhihu.com/question/35292413http://blog.csdn.net/MrZhang_happy/article/details/70057429

本文到此结束,谢谢观看!如有不足,敬请指正!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CnPeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值