android 4.4 禁止下拉,android4.4上全屏界面实现禁止状态栏下拉

这篇博客详细解读了PhoneWindowManager.java中关于系统手势(如滑动)的处理,特别关注了在沉浸式模式下如何隔离或响应状态栏和导航栏的隐藏与显示。作者介绍了`isGestureIsolated()`方法,以及针对上滑、下滑、右滑等事件的处理逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2. frameworks\base\policy\src\com\android\internal\policy\impl\PhoneWindowManager.java

// monitor for system gestures

mSystemGestures = new SystemGesturesPointerEventListener(context,

new SystemGesturesPointerEventListener.Callbacks() {

@Override

public void onSwipeFromTop() {

+ if (isGestureIsolated())

+ return;

if (mStatusBar != null) {

requestTransientBars(mStatusBar);

}

}

@Override

public void onSwipeFromBottom() {

+ if (isGestureIsolated())

+ return;

if (mNavigationBar != null && mNavigationBarOnBottom) {

requestTransientBars(mNavigationBar);

}

}

@Override

public void onSwipeFromRight() {

+ if (isGestureIsolated())

+ return;

if (mNavigationBar != null && !mNavigationBarOnBottom) {

requestTransientBars(mNavigationBar);

}

}

@Override

public void onDebug() {

// no-op

}

+ private boolean isGestureIsolated() {

+ WindowState win = mFocusedWindow != null ? mFocusedWindow : mTopFullscreenOpaqueWindowState;

+ if (win != null && (win.getSystemUiVisibility() & View.SYSTEM_UI_FLAG_IMMERSIVE_GESTURE_ISOLATED) != 0)

+ return true;

+ else

+ return false;

+ }

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值