【问题标题】:How disable scroll movement when i move a bitmap?移动位图时如何禁用滚动移动?
【发布时间】:2015-04-19 20:30:34
【问题描述】:

我想在屏幕上移动一个位图,但我只能水平移动,因为如果我垂直移动,视图的滚动就会开始,而位图的移动就会消失。我有

public boolean onTouchEvent(MotionEvent 事件)

在 MOVE 的情况下更改位图的 X 和 Y 的方法。然后在 onDraw() 方法中绘制位图。滚动是在 xml 中。它的内部是一个布局和一个视图。

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

那是代码的简历

公共类表扩展 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;
  }

}

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

【问题讨论】:

  • 请提供相关代码sn-ps,并尝试用更具体的方式描述问题。
  • 对不起,我现在放了一份代码简历。

标签: android


【解决方案1】:

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

在链接中,您可以在答案中看到自定义滚动查看其工作标志的代码。 您可以选择滚动不起作用的时间。 希望我有所帮助:)

【讨论】:

  • 我把简历放在代码上。我看到了解决方案,但我不明白,因为在绿色检查代码中,当 enableScrolling 为真时,不会退出 onInterceptTouchEvent 。再次感谢。
猜你喜欢
  • 2021-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多