Android: постоянное меню и меняющиеся действия

#android #android-activity

#Android #android-активность

Вопрос:

Я работаю над простым приложением для Android. Я хочу создать общее меню, которое всегда видно (и всегда сверху), и другие действия, которые можно отключить, а также могут открывать другие действия. Я хочу иметь возможность нажимать на объекты (например, поля ввода текста) в своих действиях, даже если мое меню имеет фокус.

Мне просто интересно, какой хороший способ внедрить меню в мой дизайнвведите описание изображения здесь

* экраны действий могут меняться, в то время как меню остается видимым в любое время

Обновить:

  • Я бы предпочел решение, которое позволит элементам меню скрываться (сдвигаться влево) и появляться при наведении курсора мыши на левый край.
  • Я бы извлек выгоду из фактического кода, показывающего мне, как это сделать.

Ответ №1:

Почему вы не используете TabActivity или Fragment???

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

1. Я согласен, в этом случае имело бы смысл использовать фрагменты.

Ответ №2:

Чтобы сделать то, что вы описываете, вам нужно будет оставаться только в одном действии. Вы можете раздувать различные макеты в правую сторону, сохраняя при этом левую сторону статичной.

поэтому вместо того, чтобы создавать кучу разных классов действий, вы просто создаете различные макеты для заполнения правой стороны, а затем раздуваете / уничтожаете их по мере необходимости.

Чтобы это не превратилось в гигантский беспорядок, вы можете захотеть расширить View на отдельные классы, каждый из которых раздувает один макет … в основном повторяя модель Activity, за исключением того, что вместо Activity вы используете свой собственный пользовательский вид, который вы создаете на лету и бросаете на правую боковую панель(который будет либо дочерним элементом относительного, либо родительского макета таблицы).

Итак…

 TableLayout (full screen)
TableRow(full screen)
MenuView (left side)
   RelativeLayout (right side parent)
    -->> fill this with your custom View(s)
   /RelativeLayout
/Row
/Table
 

Что-то вроде этого должно работать хорошо.

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

1. Разве это не означает, что мои представления не будут проходить жизненный цикл активности, а сохранение и восстановление состояния превратятся в гигантский беспорядок?

2. правильно, если вы можете использовать фрагменты, которые были бы предпочтительнее, но они доступны только в более поздних версиях Android. Я только говорил, как вы * могли бы это сделать… не то, что вы * должны! 🙂