2016-11-14 2 views
0

У меня есть это приложение, которое я хочу иметь особым способом навигации. И поэтому я сделал исследование, но я запутался. И я начинаю разработку Android. Я хочу спросить, какой макет или что-нибудь, что я могу использовать для достижения этого. Я не ищу супер конкретный ответ, просто то, что делает то, что я делаю. Так что это:Навигация Android через несколько макетов

enter image description here

синий блок («выбрать бренд» вид) должен быть на этой позиции во все времена, и только изменение текста, если это необходимо. Я хочу, чтобы одна кнопка изображения нажала на весь зеленый блок с изменением сетки изображения на другой макет xml. Я хочу вызвать несколько макетов в зеленом блоке, когда я взаимодействую с кнопками этих макетов. Атм зеленый блок является <include layout ="layout.xml"/>

Я действительно высоко ценю любой ответ. Извините, если базовый, но я действительно пытался найти то, что мне нужно, но до сих пор я вижу решения, которые мешают мне использовать простые надувные устройства. Заранее спасибо

+0

Может быть, вы должны прочитать документацию о фрагментах: https://developer.android.com/guide/components/fragments .html –

ответ

1

Вы должны использовать фрагменты для этого сценария.

У вас будет LinearLayout, где первым элементом будет ваш синий блок. Второй элемент будет FrameLayout, который вы измените на необходимый фрагмент (обычно он будет иметь контейнер ID).

Создайте фрагмент и установите макет файла layout.xml. Создайте второй фрагмент с желаемым расположением, которое вы хотели бы изменить зеленый блок.

Когда вы нажимаете на изображение, вы должны будете изменить текущий фрагмент с нужным. Here вы увидите, как отправлять объекты в фрагменты.

Вы можете найти here способ переключения между фрагментами. В методе ft.replace первый id - это FrameLayout, который вы будете использовать в качестве контейнера (см. Выше).

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.replace(R.id.container, new NewFragmentToReplace(), "NewFragmentTag"); 
ft.commit(); 

Будьте осторожны при импорте фрагментов. Если вы используете пакет поддержки вам придется использовать getSupportFragmentManager();

Подробнее о android developer о фрагментах

1

Я думаю, что вы ищете класс Fragment, который может использоваться как код многократного использования, который может быть связан с UI/layout.

От андроида документации:

Чтобы создать динамичный и мульти-панели пользовательского интерфейса на Android, вам нужно инкапсулировать компоненты пользовательского интерфейса и поведения активности в модули, которые вы можете поменять в и из вашей деятельности. Эти модули можно создавать с помощью класса Fragment, , который ведет себя как вложенное действие, которое может определять собственный макет и управлять собственным жизненным циклом.

Read more here

+0

я вижу. Похоже, это то, что мне нужно. Я пойду так и посмотрю. Большое спасибо :) –

Смежные вопросы