我正在嘗試使用可觸摸區域爲我的應用創建自定義視圖。這些區域與填充該視圖的圖像像素座標有關。我已經將這些圖像放置在drawable-nodpi處,以避免系統縮放。檢測觸摸座標是否位於自定義視圖上可觸摸區域的座標內
我的自定義視圖使用其中一個圖像,調整其大小以保持寬高比適合其父圖像,然後將視圖大小調整爲所得圖像的大小。所以在這一點上,我有一個視圖保持源的比例,所以生成的視圖單擊(onTouch event.getX和event.getY)座標是相對於原始圖像像素座標。
從另一方面,我有所有的形狀的座標,定義一個xml文件中的clickeable區域,我加載時,我的活動開始。這些區域由類型:circle或rect定義。中心XY,根據原始圖像
現在我需要檢測是否我的觸摸XY是寬度和高度PX:
圈:根據原始圖像
矩形中心XY和半徑PX在任何這些區域的座標內,但要記住我的原始圖像遭受的縮放。
我怎麼能檢測到我的觸摸座標和clickeable區域座標之間的「碰撞」?我的意思是即使不調整原始圖像的大小,我該如何計算?
您可以擺脫'sqrt()'調用,因爲您只測量相對距離。 – Geobits
對不起,但你能解釋一下它的數學嗎?我無法遵守它。說這個解決方案只適用於矩形是正確的嗎? –
實際上我認爲的物體作爲圈子。重要的是,你正在計算中心xCoordinate的touchDistance。或者它可能表現得很奇怪:) –