#android #rotation #touch #imageview
#Android #вращение #коснитесь #imageview
Вопрос:
У меня есть прямоугольный Imageview, который реагирует на прикосновение (он поворачивается на определенное количество градусов, используя анимацию). К imageview прикреплен ontouchlistener.
Однако после поворота он по-прежнему реагирует на прикосновения только в исходном (до поворота) местоположении. Несмотря на то, что я установил значение fillafter в true.
Моя теория заключается в том, что вращение предназначено только для отображения … есть ли способ обнаружить прикосновение к прямоугольному imageview, повернутому под углом, например, 45 градусов?
Ответ №1:
Когда анимация применяется к представлению в Android, сдвигаются только пиксели представления, в то время как область попадания остается в том же положении.
Чтобы фактически переместить представление, вам нужно будет добавить в представление прослушиватель анимации и вручную изменить положение представления в конце анимации.
Комментарии:
1. Может ли вид быть нерегулярным -прямоугольным: как в моем случае под углом 45 градусов?
2. AFAIK, вы не можете. Как прямоугольник используется для указания области попадания. Что вы можете сделать, так это подчинить view или imageview и переопределить событие ontouch и проверить, находится ли область касания внутри повернутого прямоугольника, и вернуться соответствующим образом.
3. Поскольку прямоугольники довольно длинные, их области попадания будут перекрываться, поэтому я буду иметь более одной области попадания на прямоугольник. Больше работы, но хо-хо…