我正在開發一個Android應用程序,允許用戶將圖像上傳到我的服務器。在選擇屏幕上,我允許他們使用捏放大縮放圖像,然後通過點擊選擇圖像。我在實施時遇到了兩個問題。Android縮放和觸摸問題
我遇到了,我用OnClickListener
而被點擊圖像時檢測到的第一個問題。只要我的手指在圖像上,這就阻止了我向上或向下縮放圖像。我實現這樣的:
setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
ToggleSelection();
invalidate();
}
});
因爲我希望他們仍然能夠甚至用他們的手指在圖像縮放圖像,我決定去與我的第二個方法。我添加了一個OnTouchListener
。
setOnTouchListener(new OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{
int i = event.getAction();
Log.d("TouchInfo123","Event action: " + i);
switch(i & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_UP:
{
ToggleSelection();
invalidate();
break;
}
}
return false;
}
});
然後我注意到event.getAction()
總是爲MotionEvent.ACTION_DOWN
返回0,則該值。所以我轉而傾聽MotionEvent.ACTION_DOWN
這是有效的。有點。
我運行到現在的問題是,當我去縮放圖像,如果我的手指觸摸圖像之一,它切換可以得到真煩人的選擇。
我希望能夠做兩件事情之一:
使用的OnClickListener
但讓我ScaleGestureDetector
甚至縮放圖像,如果我的手指觸摸圖片
或
使OnTouchListener
與MotionEvent.ACTION_UP
一起使用,以便我知道它在觸發事件觸發時不會縮放。
有什麼建議嗎?