0
我在Xamarin中有一個拖放列表實現。問題是我想只能在觸摸拖放按鈕而不是整個元素時拖放元素。
我試圖檢測被按下的ImageView,但我無法得到正確的命中ImageView。
public bool OnDown (MotionEvent e) {
int x = (int) e.GetX();
int y = (int) e.GetY();
int itemnum = PointToPosition(x, y);
if (itemnum == AdapterView.InvalidPosition) {
return false;
}
if (m_dragging != null) {
m_dragging.Stop();
m_dragging = null;
}
View item = GetChildAt(itemnum - FirstVisiblePosition);
item.Pressed = false;
var dragImage = item.FindViewById<ImageView> (Resource.Id.drag_image);
Rect bounds = new Rect();
dragImage.GetDrawingRect (bounds);
if (!bounds.Contains (x, y)) {
return false;
}
以下代碼僅適用於列表中的第一個元素,不適用於任何其他元素。我懷疑檢測到的命中是不正確的。