首页 > 代码库 > Android6.0状态栏(系统下拉状态栏的定制)

Android6.0状态栏(系统下拉状态栏的定制)

■目标

不允许用户从上到下下拉状态栏

■案1

截获手势,不处理该手势。

SystemGesturesPointerEventListener

public void onPointerEvent(MotionEvent event) {

if (swipe == SWIPE_FROM_TOP) {

不调用手势处理}

■案1效果

无效果。

adb log发现代码确实走到了,说明这里只是一个通知机制。

 

■案2

在状态栏上进行中断手势或者touch命令

StatusBarWindowView的onInterceptTouchEvent方法实现进行修正,直接返回true。

■案2效果

符合预期

 

■状态栏知识点总结

家庭:        属于SystemUI级别。是特殊的系统级别的UI组件。SystemUI = 状态栏+底部导航栏+近期APP列表+截屏操作+电量警告等等

载体:        以APK形式存在

生命开始:   AMS.systemReady()方法系统就绪后,startSystemUi

2兄弟布局: PhoneWindowManager.mHasSystemNavBar  状态栏与导航栏分离(PhoneStatusBar)  vs  状态栏与导航栏合体(TabletStatusBar)

1儿子:       BaseStatusBar 借助IStatusBarService处理请求 createAndAddWindows(各兄弟自己实现布局单元)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

http://blog.csdn.net/yin1031468524/article/details/51532663

https://wizardforcel.gitbooks.io/deepin-android-vol3/content/7.html

adb logcat PanelBar:D PhoneStatusBar:D WindowManager:D *:S

adb logcat WifiHW:D *:S 

 

SystemGesturesPointerEventListener

 

Android6.0状态栏(系统下拉状态栏的定制)