这两天要修改一个需求就是去除锁屏解锁后的蒙层(即解开锁后黑黑的蒙蒙的一层),之前就有想处理这个效果,把他去掉但是没有找到位置,这两天又有了这个需求了,解决了,记录一下。
其中修改的地方为:/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,就看不见蒙层了。
网友评论