2011-12-14 49 views
2

假設我的應用程序顯示一個SVG圖像(由svg轉換爲svg-android庫可繪製),並且一旦用戶點擊它,我需要知道他點擊了哪個SVG組。如何在Android中的SVG上找到點擊的地方?

假設我需要將點擊座標傳遞給某種解析器,這將通過SVG文件挖掘並返回它們所屬的組。

例如,這樣的SVG

<?xml version="1.0" encoding="utf-8"?> 
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"> 
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" 
    y="0px" width="100px" height="100px" viewBox="0 0 100 100" xml:space="preserve"> 


<g id="RCTOP"> 
    <polygon fill="#4374B9" points="70,25 25,25 25,70"/> 
</g> 


<g id="RCBTM"> 
    <polygon fill="#B84545" points="30,75 75,75 75,30"/> 
</g> 


</svg> 

enter image description here

應該返回 「RCTOP」 如果有人點擊,也就是說,35x35或 「RCBTM」 如果點擊55x55 ...

任何想法是否有這樣的圖書館或我應該從頭開始寫它?

謝謝!

+0

有沒有辦法來捕獲SVG本身就是一個'onclick`事件?例如。 `` – robertc 2011-12-14 22:19:58

回答

-1

可以使用PanZoom

,它可以捕獲點擊事件是這樣的:

$panzoom.on('panzoomend', function(e, panzoom, matrix, changed) { 
    if (!changed) { 
    // The user clicked or tapped and did not do a move with panzoom 
    } 
}); 
相關問題