设置
在片段A中我有一个带有onTouchListener的Button。如果我触摸按钮,片段A将被片段B替换。
片段B在其根视图上有一个onTouchListener,我想立即捕获ACTION_MOVE。
我想要实现的目标 我希望能够触摸按钮,看到片段B出现并立即采取行动。
问题
在我抬起手指再次触摸之前,没有打开onTouches。
我尝试了什么
private void dispatchTouch(FrameLayout layout_for_dragging) {
// Obtain MotionEvent object
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = 0.0f;
float y = 0.0f;
// List of meta states found here: developer.android.com/reference/android/view/KeyEvent.html#getMetaState()
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_DOWN,
x,
y,
metaState
);
// Dispatch touch event to view
layout_for_dragging.dispatchTouchEvent(motionEvent);
}
在我将onTouchListener设置为根视图后在onCreateView中调用它。
我想强制举办一个活动,希望它能够获得我的移动事件,但它只会调用一次ACTION_DOWN。
答案 0 :(得分:0)
处理片段B向右移动,可以使用onPageScrolled覆盖方法 .......... 如果我有你的问题
@Override
public void onPageSelected(int arg0) {
if(lastPage>arg0)
{//User Move to left}
else(lastPage<arg0)
{//User Move to right}
lastPage=arg0
}
OR
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (thresholdOffset > positionOffset) {
Log.i(C.TAG, "going left");
} else {
Log.i(C.TAG, "going right");
}
}