Я мог бы решить код problem.complete является :
public class MultiTouchListener implements View.OnTouchListener {
private float mPrevX;
private float mPrevY;
public QuranActivity mainActivity;
public MultiTouchListener(QuranActivity mainActivity1) {
mainActivity = mainActivity1;
}
@Override
public boolean onTouch(View view, MotionEvent event) {
float currX,currY;
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN: {
mPrevX = event.getX();
mPrevY = event.getY();
break;
}
case MotionEvent.ACTION_MOVE:
{
int w = mainActivity.getWindowManager().getDefaultDisplay().getWidth() - 100;
int h = mainActivity.getWindowManager().getDefaultDisplay().getHeight() - 100;
currX = event.getRawX();
currY = event.getRawY();
ViewGroup.MarginLayoutParams marginParams = new ViewGroup.MarginLayoutParams(view.getLayoutParams());
//marginParams.topMargin = (int)(currY - mPrevY);
/* if(currX>w){
marginParams.leftMargin = (int)(currX - mPrevX)-100;
}
else {
marginParams.leftMargin = (int)(currX - mPrevX);
}
if(currY>h){
marginParams.rightMargin = (int)(currY - mPrevY)-100;
}
else {
marginParams.rightMargin = (int)(currY - mPrevY);
}
*/
marginParams.setMargins(0, (int)(currY - mPrevY),0, 0);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(marginParams);
view.setLayoutParams(layoutParams);
Log.e("onTouch X",currX - mPrevX+" " + "");
Log.e("onTouch Y",currY - mPrevY+" " + "");
break;
}
case MotionEvent.ACTION_CANCEL:
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
}
я думаю, что это не полезно для моего решения, потому что у меня есть вид в центре экрана –
отредактированного, проверить его –
Я добавил класс PixelScrollDetector и теперь, как использовать вторую ссылку, которую вы написали? –