Поэтому у меня есть приложение, работающее на Android 2.2 (по желанию HTC). Когда пользователь нажимает клавишу меню, мои меню сильно скользят сверху и снизу. Это отлично работает. Или так я думал. Оказывается, что даже когда ImageButtons отключены от экрана и невидимы, удары по местам, где они были до того, как я вывел их из поля зрения, активируют кнопки.
Я пытался:
_top_slide_out_menu.forceLayout();
_top_slide_out_menu.recomputeViewAttributes(_measure);
_top_slide_out_menu.computeScroll();
Нет разницы. Возможно, это связано с тем, что я перемещаю родительский объект-контейнер с помощью анимации, а не самих кнопок. Я могу только предположить, что есть ошибка, которая не обновляет дочерние hitboxes. Эта ошибка также влияет на последующие анимации, которые я применяю к кнопке. У меня есть анимация, которую я запускаю на кнопке, которую я ранее перемещал, используя другую анимацию. Эта вторая анимация сжимается, а затем увеличивает кнопку, чтобы создать впечатление щелчка. Только половина кнопки перерисовывается, так как это половина, содержащаяся в области исходного местоположения кнопки.
Итак, вопрос в том, кто-нибудь сталкивался с этим? Есть ли что-нибудь, что можно попробовать, кроме как перемещать все кнопки в отдельности (что будет довольно утомительно)?
Я бы оценил любые идеи на этом этапе!
благодаря
Анимация Android только сдвигает пиксели элементов управления пользовательского интерфейса, когда вы добавляете к ним анимацию. Чтобы на самом деле обновить макет после анимации, вы должны реализовать прослушиватель анимации и вручную обновить макет, но старый макет все равно останется с только сдвинутыми пикселями.