手上的项目是行业终端,系统为Android 7.1.2。
为了用户界面简洁易用,需要禁用系统状态栏的下拉通知菜单。
修改如下:
文件为NotificationPanelView.java, 这个类包含了一个变量mBlockTouches
public class NotificationPanelView extends PanelView implements
ExpandableView.OnHeightChangedListener,
View.OnClickListener, NotificationStackScrollLayout.OnOverscrollTopChangedListener,
KeyguardAffordanceHelper.Callback, NotificationStackScrollLayout.OnEmptySpaceClickListener,
OnHeadsUpChangedListener {
.
.
.
private boolean mBlockTouches;
.
.
.
}
搜索代码,发现在resetViews() 方法中,mBlockTouches被初始化为false,尝试改为true,编译测试,就可以直接禁用下拉通知栏了。
规范起见,增加系统属性进行控制。
代码如下:
@Override
public void resetViews() {
mIsLaunchTransitionFinished = false;
// mBlockTouches = false;
if (!android.os.SystemProperties.getBoolean("ro.statusbar.collapse.enable", true)) {
mBlockTouches = true;
} else {
mBlockTouches = false;
}
.
.
.
}