好的,我有一个需要访问基本滑动手势的应用。我使用从StackOverflow中删除的代码实现了EditText
,然后进行了修改(使其完全正常工作)。要使它工作,它需要窃取Touch事件。
最初,我正在检测EditText
事件等,并尝试将它们传递给需要滚动的元素,但这实际上是跳跃的,并且从未按我想要的数量滚动,所以我开始简单地通过阅读后,将事件触及超级课程。这导致了非常奇怪的行为,一些元素根本就没有滚动(不明白为什么),所以我开始以3路分割方式传递事件...一些是超级类,一些是手势检测器,一些是开启的需要滚动的屏幕视图!是的,一团糟,但一切都很顺利。除了......
如果您触摸 @Override
public boolean dispatchTouchEvent(MotionEvent me) {
int top = dm.heightPixels - myEditText.getMeasuredHeight();
MotionEvent mod = MotionEvent.obtain(me.getDownTime(), me.getEventTime(),
me.getAction(), me.getX(), me.getY()-top, me.getMetaState());
if (me.getY() <= top)
return super.dispatchTouchEvent(me);
myEditText.onTouchEvent(mod);
return this.detector.onTouchEvent(me);
}
(除了AppBar之外的全屏幕)的底部,然后当键盘出现并向上滚动{{1}}时,appbar滚动屏幕(在状态栏图标下面......看起来很奇怪,因为它们相互叠加),我无法向后滚动。也意味着我无法进入我的菜单或剪切/复制图标。滚动关闭菜单键会使应用程序崩溃。
知道如何阻止AppBar滚出屏幕吗?
{{1}}
答案 0 :(得分:0)
好的,这似乎解决了!在活动清单中......
android:windowSoftInputMode="adjustResize"
BAMN!没有更多的问题!