// 设置返回回调
mEdgeBackPlugin.setBackCallback(mBackCallback);
// 设置LayoutParams
mEdgeBackPlugin.setLayoutParams(createLayoutParams());
updateDisplaySize();
}
这个类中并没有看到视图如何添加到屏幕上的。
那么再来看看NavigationBarEdgePanel
。
// 1,构造方法中获取WindowManager
public NavigationBarEdgePanel(Context context) {
mWindowManager = context.getSystemService(WindowManager.class);
…
}
@Override
public void setLayoutParams(WindowManager.LayoutParams layoutParams) {
mLayoutParams = layoutParams;
// 2,把当前view添加到WindowManager中
mWindowManager.addView(this, mLayoutParams);
}
在构造方法中获取了WindowManager
,然后在setLayoutParams()
中将当前view添加到WindowManager
中。大致了解了它是怎么显示出来的之后,就可以修改它的位置了。
既然是想让他跟着手指上下滑动,那可定跟触摸事件相关,但是在NavigationBarEdgePanel
的触摸滑动事件中没有对视图位置