美文网首页
SystemUI 锁屏解锁后去除蒙层(黑黑的一层)

SystemUI 锁屏解锁后去除蒙层(黑黑的一层)

作者: Lindahuanzi | 来源:发表于2020-04-25 21:27 被阅读0次

    这两天要修改一个需求就是去除锁屏解锁后的蒙层(即解开锁后黑黑的蒙蒙的一层),之前就有想处理这个效果,把他去掉但是没有找到位置,这两天又有了这个需求了,解决了,记录一下。

    其中修改的地方为:/src/com/android/systemui/keyguard/KeyguardViewMediator.java

    private void tryKeyguardDone() {

            if (KeyguardConstants.DEBUG_KEYGUARD_PROCESS){

                StringBuilder builder = new StringBuilder();

                builder.append("tryKeyguardDone mKeyguardDonePending=");

                builder.append(mKeyguardDonePending);

                builder.append("; mHideAnimationRun=");

                builder.append(mHideAnimationRun);

                builder.append("; mHideAnimationRunning=");

                builder.append(mHideAnimationRunning);

                Log.d(TAG, builder.toString());

            }

            if (!mKeyguardDonePending && mHideAnimationRun && !mHideAnimationRunning) {

                //wangdy add for setting the scrimview's alpha_2019-06-27[start]

                mStatusBarKeyguardViewManager.setScrimBehindViewAlpha(0f);

                //wangdy add for setting the scrimview's alpha_2019-06-27[end]

                handleKeyguardDone();

            } else if (!mHideAnimationRun) {

                mHideAnimationRun = true;

                mHideAnimationRunning = true;

                mStatusBarKeyguardViewManager.startPreHideAnimation(mHideAnimationFinishedRunnable);

            }

        }

    这边加注释的就是我添加的修改的地方

    下边是调用的引用添加的地方:

    /src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java

    //wangdy add for setting the scrimview's alpha_2019-06-27

        public void setScrimBehindViewAlpha(float alpha){

            if(mStatusBar!=null && mStatusBar.mScrimController!=null && mStatusBar.mScrimController.mScrimBehind != null) {

                mStatusBar.mScrimController.mScrimBehind.setViewAlpha(alpha);

            }

        }

    这样就可以,其中上边添加的地方是系统在”解锁完成向上滑动的动画“后修改这个ScrimView的透明度alpha让它变成0,这样其实后边还有个系统的设置的透明度动画,所以你看到的解锁后边的蒙层就是上滑动动画后的这里有个耗时,然后到的蒙层动画,所以如果提前把这个蒙层设置为透明度为0,就不会有动画了,提前设置为0,就看不见蒙层了。

    相关文章

      网友评论

          本文标题:SystemUI 锁屏解锁后去除蒙层(黑黑的一层)

          本文链接:https://www.haomeiwen.com/subject/ezjlwhtx.html