W moim projekcie użyłem onTouchEvent do wykrycia dotyku na ekranie i wykonania odpowiednich czynności, i użyłem viewPager do działania machnięcia. Problem polega na tym, że akcje dotykowe są wykonywane. Znajdź rozwiązanie od here. Ale moim nowym Problemem jest to, że dotyk staje się nieaktywny po tym, jak TouchEvent.Action_up zostanie wykonany. Kod jest następujący:onTouchEvent jest wykonywany, gdy strona jest przeciągana za pomocą ViewPager i PassByValue
parent.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_MOVE:
awesomePager.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
awesomePager.requestDisallowInterceptTouchEvent(true);
if(flag)
{
upperdock.setClickable(false);
upperdock.bringToFront();
tocparent.bringToFront();
tocbottom.bringToFront();
upperdock.setVisibility(RelativeLayout.VISIBLE);
tocparent.setVisibility(LinearLayout.VISIBLE);
tocbottom.setVisibility(LinearLayout.VISIBLE);
flag=false;
}
else
{
parent.bringToFront();
upperdock.setVisibility(RelativeLayout.INVISIBLE);
tocparent.setVisibility(LinearLayout.INVISIBLE);
tocbottom.setVisibility(LinearLayout.INVISIBLE);
flag=true;
}
break;
case MotionEvent.ACTION_CANCEL:
awesomePager.requestDisallowInterceptTouchEvent(false);
break;
default:
break;
}
return false;
}
});
W powyższym kodzie, jeśli wrócę fałszywe Action_up nie jest uzyskiwanie wykonywane .. Jeśli wrócę prawda Action_cancel nie jest coraz executed..that jest wprost wartością jest problem tam.