Как найти место для клика на SVG в Android? - PullRequest
2 голосов
/ 15 декабря 2011

Предположим, что мое приложение показывает изображение SVG (преобразованное из svg в отрисовываемое библиотекой 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 ...

любые идеи, если где-то есть такие библиотеки, или я должен написать это изцарапина?

Спасибо!

1 Ответ

0 голосов
/ 28 апреля 2016

вы можете использовать PanZoom

, он может отлавливать событие клика следующим образом:

$panzoom.on('panzoomend', function( e, panzoom, matrix, changed ) {
  if ( !changed ) {
    // The user clicked or tapped and did not do a move with panzoom
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...