[DESCRIPTION]
滑动锁屏状态下如何禁止下拉状态栏?
[SOLUTION]
JB/KK
滑动锁屏状态下状态栏可以下拉是google 4.0 默认的设计。如果要禁止此功能,请修改
请修改KeyguardViewMediator.java的adjustStatusBarLocked()方法,将
if (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND) {
// showing secure lockscreen; disable expanding.
flags |= StatusBarManager.DISABLE_EXPAND;
}
修改为:
if (isSecure() || ENABLE_INSECURE_STATUS_BAR_EXPAND) {
// showing secure lockscreen; disable expanding.
flags |= StatusBarManager.DISABLE_EXPAND;
}
L上
L上锁屏界面状态栏要禁止下拉请按如下方案修改:
NotificationPanelView.java(alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone)中的两个方法。
(1)
private void setQsExpanded(boolean expanded) {
(1)
private void setQsExpanded(boolean expanded) {
//begin 添加下面四行
if(mKeyguardShowing)
{
return;
}
if(mKeyguardShowing)
{
return;
}
//end
boolean changed = mQsExpanded != expanded;
if (changed) {
mQsExpanded = expanded;
updateQsState();
requestPanelHeightUpdate();
mNotificationStackScroller.setInterceptDelegateEnabled(expanded);
mStatusBar.setQsExpanded(expanded);
}
}
boolean changed = mQsExpanded != expanded;
if (changed) {
mQsExpanded = expanded;
updateQsState();
requestPanelHeightUpdate();
mNotificationStackScroller.setInterceptDelegateEnabled(expanded);
mStatusBar.setQsExpanded(expanded);
}
}
(2)
private boolean shouldQuickSettingsIntercept(float x, float y, float yDiff) {
if (!mQsExpansionEnabled) {
return false;
}
//begin 将下面第一行替换成第二行
View header = mKeyguardShowing ? mKeyguardStatusBar : mHeader;
View header = mHeader;
View header = mHeader;
//end
boolean onHeader = x >= header.getLeft() && x <= header.getRight()
&& y >= header.getTop() && y <= header.getBottom();
if (mQsExpanded) {
return onHeader || (mScrollView.isScrolledToBottom() && yDiff < 0) && isInQsArea(x, y);
} else {
return onHeader;
}
}
&& y >= header.getTop() && y <= header.getBottom();
if (mQsExpanded) {
return onHeader || (mScrollView.isScrolledToBottom() && yDiff < 0) && isInQsArea(x, y);
} else {
return onHeader;
}
}
(3) private boolean onTouchEvent()
{
...
if (!mTwoFingerQsExpand && mQsTracking) {
{
...
if (!mTwoFingerQsExpand && mQsTracking) {
//begin 添加下面红色的两行
if(!mKeyguardShowing){
onQsTouch(event);
if (!mConflictingQsExpansionGesture) {
return true;
}
}
if(!mKeyguardShowing){
onQsTouch(event);
if (!mConflictingQsExpansionGesture) {
return true;
}
}
//end
}
...
}
}
...
}