Определенные части ImageView кликабельны

Каковы некоторые идеи о том, чтобы иметь ImageView, который занимает весь экран и делает только его часть доступной для кликов? Я думал, что могу расширить класс ImageView и переопределить его метод ontouch, что позволит мне обнаруживать касания на основе x и y. Единственная проблема, которую я вижу, заключается в том, что при разных разрешениях касания могут не отображаться в правильных областях. Я полагаю, что тогда я мог бы определить разрешение и найти способ сопоставить x и y с правильными областями. Я чувствую, что должен быть более простой способ, хотя. У кого-нибудь есть другие идеи?


person DRiFTy    schedule 16.08.2011    source источник


Ответы (2)


Как насчет создания прозрачных представлений с желаемыми прослушивателями кликов поверх ImageView с использованием RelativeLayout. Вы можете использовать xml для размещения этих «горячих точек» там, где вы хотели бы их относительно вашего изображения, и определить макет, чтобы представление «горячих точек» правильно масштабировалось вместе с изображением при отображении с разными разрешениями.

person Gregg Rivinius    schedule 16.08.2011
comment
Большое спасибо! Я большой поклонник RelativeLayout, но в данном случае я не думал об этом, ха-ха. Тем не менее, он отлично работал, я смог использовать его как на своем телефоне, так и на планшете, и точки доступа остались прежними. Еще раз большое спасибо! - person DRiFTy; 17.08.2011

Если формы «горячих точек» не слишком сложны, вы можете динамически разделить изображение, настроить отдельные прослушиватели кликов и повторно объединить чертежи таким образом, чтобы они выглядели смежными. Хотя мне больше нравится метод Грегга.

person mastDrinkNimbuPani    schedule 16.08.2011