当我移动位图时如何禁用滚动移动?

时间:2015-04-19 20:30:34

标签: android

我想在屏幕上移动一个位图,但我只能在水平方向上进行,因为如果我垂直进行,则视图的滚动开始并且位图的移动消失。我有

public boolean onTouchEvent(MotionEvent event)

方法,其中MOVE我改变位图的X和Y.然后在 onDraw()方法中绘制位图。滚动是xml。它内部是一个布局,位于视图内。

我希望当我触摸时,如果DOWN,如果我触摸位图,请禁用滚动,但我在其他地方没有。

这是代码的简历

public class Table扩展了ScrollView {

private static Integer srcX = 0, srcY = 0;

public Table(Context context) {
    super(context);
    setWillNotDraw(false);
    setVerticalScrollBarEnabled(true);

  @Override
  protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    for(int i=1; i<= Paint_Table.num_players; i++)
        canvas.drawBitmap(bitmap, X, Y, null);
  }

  @SuppressLint("ClickableViewAccessibility") @Override
  public boolean onTouchEvent(MotionEvent event) {

    int x = (int) event.getX();
    int y = (int) event.getY();

    switch(event.getAction()){

    case MotionEvent.ACTION_DOWN:
        if (youTouchBitmap) {
            srcX = x;
            srcY = y;
        }
        break;

    case MotionEvent.ACTION_MOVE:
        if (srcX !=0 && srcY != 0) {
           X=x;
           Y=y;
           invalidate();
        }
        break;
    }
    return true;
  }

}

有人能帮助我吗? 谢谢和问候。

1 个答案:

答案 0 :(得分:0)

因为我没有看到代码我找到一些链接可能会帮助你: How to disable and enable the scrolling on android ScrollView?

在链接中你可以在答案中看到一个代码,即自定义滚动查看其工作标志。 你可以选择滚动什么时候不工作。 希望我帮助:)