umeng一键登录全屏,协议title被状态栏压住问题解决

本文介绍了如何在Android应用中实现一键登录页面的全屏效果,针对`LoginAuthActivity`使用透明状态栏,而在`AuthWebVeiwActivity`中通过`fitsSystemWindows`调整顶部导航栏。同时,详细展示了如何配置 ImmersionBar 实现沉浸式用户体验。

一键登录全屏处理,webview顶部状态栏非全屏处理

registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
                LogUtil.d("activity---instance=" + activity);
                LogUtil.d("base----onActivityCreated---" + activity);
                UIManager.getInstance().pushActivity(activity);

            }

            @Override
            public void onActivityStarted(@NonNull Activity activity) {
                LogUtil.d("base----onActivityStarted---" + activity);
                runningActivityCount++;
                if (runningActivityCount > 0) {
                    UIManager.getInstance().setIsBackground(false);
                }
            }

            @Override
            public void onActivityResumed(@NonNull Activity activity) {
                LogUtil.d("base----onActivityResumed---" + activity);
                // 关键代码
                if (activity.getClass().getSimpleName().equals("LoginAuthActivity")) {
                    ImmersionBar.with(activity).statusBarDarkFont(false).transparentStatusBar().transparentNavigationBar().init();
                } else if (activity.getClass().getSimpleName().equals("AuthWebVeiwActivity")) {
                    //fitsSystemWindows(true)是关键
                    ImmersionBar.with(activity).statusBarDarkFont(true).statusBarColor(R.color.color_comm_white).fitsSystemWindows(true).transparentNavigationBar().init();
                }
            }

            @Override
            public void onActivityPaused(@NonNull Activity activity) {
                LogUtil.d("base----onActivityPaused---" + activity);
            }

            @Override
            public void onActivityStopped(@NonNull Activity activity) {
                LogUtil.d("base----onActivityStopped---" + activity);
                runningActivityCount--;
                if (runningActivityCount == 0) {
                    UIManager.getInstance().setIsBackground(true);
                }
            }

            @Override
            public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {
                LogUtil.d("base----onActivitySaveInstanceState---" + activity);
            }

            @Override
            public void onActivityDestroyed(@NonNull Activity activity) {
                LogUtil.d("base----onActivityDestroyed---" + activity);
                UIManager.getInstance().popActivity(activity);
            }
        });

一键登录页面设置

					// 检测智能认证环境 2:表示一键登录
                    umVerifyHelper.checkEnvAvailable(PhoneNumberAuthHelper.SERVICE_TYPE_LOGIN);
                    // 设置页面 单位都是dp
                    umVerifyHelper.setAuthUIConfig(new UMAuthUIConfig.Builder()
                            // 背景图
                            .setPageBackgroundDrawable(getDrawable(R.drawable.login_bg))
                            // 一键登录导航设置
                            .setNavColor(Color.TRANSPARENT)
                            // webview顶部导航设置
                            .setWebNavColor(Color.WHITE)
                            .setWebNavTextColor(Color.BLACK)
                            .setWebNavTextSize(20)
                            .setWebNavReturnImgDrawable(getDrawable(R.drawable.ic_back))
                            // 隐藏顶部导航栏
                            .setNavHidden(false)
                            .setNavReturnImgDrawable(null)
                            .setNavReturnHidden(true)
                            .setNavText("")
                            // logo显示
                            .setLogoHidden(false)
                            // logo顶部距离
                            .setLogoOffsetY(46)
                            // logo宽高,单位dp
                            .setLogoWidth(76)
                            .setLogoHeight(108)
                            // logo图片
                            .setLogoImgDrawable(getDrawable(R.drawable.ic_one_key_login_app_logo))

                            // 设置手机号颜色
                            .setNumberColor(getResources().getColor(R.color.color_comm_white))
                            // 手机号字号大小
                            .setNumberSize(30)
                            // 手机号距离顶部距离
                            .setNumFieldOffsetY(205)

                            // 运营商认证服务提示
                            .setSloganTextColor(getResources().getColor(R.color.color_d9d9d9))
                            .setSloganOffsetY(249)
                            .setSloganTextSize(14)
                            // 一键登录按钮
                            .setLogBtnBackgroundDrawable(getDrawable(R.drawable.shape_one_key_login_bg))
                            .setLogBtnHeight(50)
                            .setLogBtnMarginLeftAndRight(32)
                            .setLogBtnOffsetY_B(178)
                            .setLogBtnTextSize(17)
                            // 切换其他登录方式
                            .setSwitchAccText("其他账号登录")
                            .setSwitchAccTextSize(14)
                            .setSwitchOffsetY_B(141)
                            // 隐私条款
                            .setPrivacyOffsetY_B(62)
                            .setAppPrivacyOne("用户协议", Const.APP_USER_AGREEMENT_URL)
                            .setAppPrivacyTwo("隐私协议", Const.APP_USER_AGREEMENT_URL)
                            // 1基础文字颜色,2协议文字颜色
                            .setAppPrivacyColor(getResources().getColor(R.color.color_7e7e7e), getResources().getColor(R.color.color_comm_white))
                            .setPrivacyTextSize(12)
                            .setPrivacyBefore("登录注册即表示同意xxx ")
                            // 运营商协议位置排最后
                            .setPrivacyOperatorIndex(3)
                            // 协议中间的字儿
                            .setPrivacyConectTexts(new String[]{"及", "、"})

                            .create());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值