2015-01-13 4 views
0

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

Поэтому я хочу иметь одну активность, которая загружает пустой макет, а затем из кода. Я добавляю различные элементы пользовательского интерфейса, такие как кнопки, текстовые представления и т. Д. Затем, когда нажимается кнопка, для этого макета следует очистить, а затем от кода нарисуйте следующий набор элементов пользовательского интерфейса на том же макете и так далее и т. д.?

Или было бы лучше иметь несколько файлов макета xml и просто раздувать их каждый раз, когда я хочу использовать другой макет, чтобы потом не создавать их из кода?

Надеюсь, что имеет смысл.

Спасибо, Wihan

+0

Вы можете иметь отдельную активность, а затем загружать в нее другой фрагмент, время от времени. –

ответ

2

Вы должны смотреть на фрагменты. Деятельность не предназначена для того, чтобы делать то, что вы хотели бы, чтобы они делали.

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

Возьмите тур =>http://developer.android.com/guide/components/fragments.html

+0

Привет. Спасибо за ответ, я перешел по ссылке и некоторым примерам фрагментов, но я не понимаю, как лучше использовать Фрагменты для этого? Мой макет фрагмента/пользовательского интерфейса не будет определяться во время компиляции, все элементы пользовательского интерфейса будут сгенерированы из кода, вытерты и будет создан другой набор? –

0

Да, это очень возможно. Но макеты Android xml дают очень простой способ использования и управления разными видами. Вы можете добавлять представления в ViewGroup и очищать ViewGroup.

Я также предлагаю использовать фрагменты. Это может быть динамически добавлено и заменено.