Android - Анимируйте Представление, topMargin/bottomMargin/etc в LinearLayout или RelativeLayout

Я пытаюсь создать меню, которое скользит с нижней части. Это запускается с представления меню, просто видимого внизу экрана, и затем нажатие на него заставляет его скользить. Я пытался использовать a TranslateAnimation, но хотя пиксели перемещаются, области хита меню находятся в том же положении как прежде. Таким образом, я думаю, что, если я могу скорректировать поля меню после того, как анимация завершена, это выполнит то, что я хочу. Однако я не могу выяснить, как скорректировать поля.

Я попытался создать a LinearLayout.LayoutMargins возразите и затем набор его поля и примените его к представлению меню (который является a LinearLayout), но это не работает.

Какие-либо идеи?

11
задан speedplane 1 October 2011 в 02:18
поделиться

1 ответ

Мое решение состояло в том, чтобы создать два LinearLayout, одно в активном состоянии (установлено как пропало), а другое в неактивном состоянии меню. Затем, когда пользователь нажимает кнопку, чтобы сдвинуть меню вверх, я вызываю TranslateAnimation , показывающее сдвиг меню вверх. Я помещаю слушателя в анимацию, которая заставляет отображать рабочее состояние, а неактивное состояние исчезает, когда анимация завершается. Я изменил это на «закрывающее» действие.

Не совсем так, как я изначально себе представлял, но это сработало.

3
ответ дан 3 December 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: