可點擊區域我想用這個數據Android的 - 創建的ImageView
"X1": "213",
"Y1": "174",
"X2": "339",
"Y2": "269",
而且我想喜歡去一些活動的行動與此可點擊區域關聯到創建的ImageView可點擊區域時,自來水就可以了。 我不想使用此鏈接中給出的解決方案。 clickable area of image
因爲我有多個Imageviews和座標可以是不同的每一次。這些縱座標來自服務器。
請提出處理此問題的最佳方法。
可點擊區域我想用這個數據Android的 - 創建的ImageView
"X1": "213",
"Y1": "174",
"X2": "339",
"Y2": "269",
而且我想喜歡去一些活動的行動與此可點擊區域關聯到創建的ImageView可點擊區域時,自來水就可以了。 我不想使用此鏈接中給出的解決方案。 clickable area of image
因爲我有多個Imageviews和座標可以是不同的每一次。這些縱座標來自服務器。
請提出處理此問題的最佳方法。
,您可以觀看觸摸位置:
ImageView iv = (ImageView) findViewById(R.id.image);
iv.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
log.d(TAG,"Location: " + event.getX() + " , " + event.getY());
}
});
更新1: 你可以有你的觀點的左上角位置如下:
int[] viewCoords = new int[2];
imageView.getLocationOnScreen(viewCoords);
從那裏,你可以看到你的圖像視圖的確切位置,觸摸到:
int X = (int) event.getX();
int Y = (int) event.getY();
int imageX = X - viewCoords[0];
int imageY = Y - viewCoords[1];
爲此,我想首先我需要縮放我的圖像以獲得新的屏幕尺寸,然後縮放我的座標以獲得新的屏幕寬度,然後才能使用此監聽器。我是正確的先生? –
讓我試試這個解決方案,然後我會回覆你。 –
感謝哥們。我已將imageX和ImageY從PX轉換爲Dp,現在我認爲我幾乎接近我的解決方案。再次非常感謝。 –
您可以使用提供的座標創建RectF對象,並使用onTouchListner對imageview進行比較,並將您的rectf與點擊區域進行比較。 – USKMobility
您可以嘗試爲整個佈局使用Rectangles('Rect()'),'onTouchListener()',並檢查事件座標是否在矩形內。還有一個名爲['AbsoluteLayout']的佈局(http://developer.android.com/reference/android/widget/AbsoluteLayout.html),您可以在其中指定確切的位置,我不建議這樣做,如果使用它,則支持不同的屏幕尺寸。 – yennsarah
矩形(Rect())是否也會根據屏幕大小縮放給定的座標?因爲我的imageview在寬度上是match_parent,在高度上是wrap_content? –