我想在屏幕上移动一个位图,但我只能在水平方向上进行,因为如果我垂直进行,则视图的滚动开始并且位图的移动消失。我有
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;
}
}
有人能帮助我吗? 谢谢和问候。
答案 0 :(得分:0)
因为我没有看到代码我找到一些链接可能会帮助你: How to disable and enable the scrolling on android ScrollView?
在链接中你可以在答案中看到一个代码,即自定义滚动查看其工作标志。 你可以选择滚动什么时候不工作。 希望我帮助:)