android 禁用下拉菜单,Android5.1禁止状态栏下拉(SystemUI StatusBar)

5.1状态栏要禁止下拉请按如下方案修改:

PanelBar.java(alps\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone)中的两个方法。

public void startOpeningPanel(PanelView panel) {

//begin 添加下面三行

if(XXX){

return;

}

//endif (DEBUG) LOG("startOpeningPanel: " + panel);

mTouchingPanel = panel;

mPanelHolder.setSelectedPanel(mTouchingPanel);

for (PanelView pv : mPanels) {

if (pv != panel) {

pv.collapse(false /* delayed */);

}

}

}

5.1锁屏界面状态栏要禁止下拉请按如下方案修改:

NotificationPanelView.java(alps/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone)中的两个方法。

(1)

private void setQsExpanded(boolean expanded) {

//begin 添加下面四行

if(mKeyguardShowing)

{

return;

}

//end

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;

//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;

}

}

(3) private boolean onTouchEvent()

{

...

if (!mQsExpandImmediate && mQsTracking) {

//begin  添加下面红色的两行

if(!mKeyguardShowing){

onQsTouch(event);

if (!mConflictingQsExpansionGesture) {

return true;

}

}

//end         } ... }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值