изображение в формате circle PNG делает его интерактивным на Android

#java #android

#java #Android

Вопрос:

Ну, у меня есть изображение круга, которое я использую imageview для отображения в приложении

Мне нужно каким-то образом сделать части этого изображения интерактивными, например, событие должно срабатывать в зависимости от того, на какую часть изображения нажимает пользователь, т. Е. Если пользователь нажимает на центр изображения или на один из фрагментов круга изображения круга

как этого можно достичь ?!

Ответ №1:

Одним из способов было бы разрезать изображение на части, а затем назначить каждой части событие щелчка с соответствующей реакцией.

другим способом может быть проверка clickevent, на котором вы нажали (x, y), и проверка, находится ли оно в диапазоне, который вы определили как область, если оно там.

или у вас разные цвета срезов, затем вы получаете цвет выбранного пикселя и оцениваете, к чему он принадлежит

Комментарии:

1. как я могу получить цвет выбранного пикселя?

2. кроме того, если я проверяю X, y щелчка, то как это будет работать при разных размерах экрана

3. вы правы, для разных размеров экрана вы не можете напрямую работать со значениями x и y, но вы можете сравнить их с размером экрана, например: xRatio = x / screenwidth; для цвета посмотрите на этот пример int c = image.getRGB(x,y); int red = (c amp; 0x00ff0000) >> 16; int green = (c amp; 0x0000ff00) >> 8; int blue = c amp; 0x000000ff; // и цвет Java равен … Цвет цвет = новый цвет (красный, зеленый, синий);