2015-01-12 4 views
0

Я пытаюсь создать пользовательский интерфейс, который состоит из фрагмента, который используется в полноэкранном режиме. Если пользователь принимает какое-то определенное действие, я хочу поместить второй фрагмент в нижней части экрана. Фактически, «pop in», вероятно, является неправильным термином - я действительно хочу, чтобы он выглядел так, как будто исходный фрагмент скользит примерно на 1/3 пути вверх по экрану, а второй фрагмент скользит, чтобы заполнить это дно 1/3. Другими словами, для пользователя он должен выглядеть НЕ, чтобы один фрагмент был выше другого, но что они оба «скользнули» на некоторую сумму.Скользящий фрагмент снизу, отталкивающий существующий фрагмент полного экрана

Я экспериментировал с несколькими способами для этого. А именно, создание источника представления второго фрагмента является нижней частью экрана, а затем перевод обоих представлений на постоянную величину. Это не получилось изящно. Например, после того, как я перевел верхний вид, распознающий кран, похоже, не был «выровнен».

Так что это заставляет меня думать, что я должен сделать шаг назад и спросить - что это самый подходящий способ сделать это? Должен ли я разбираться с фрагментами и транзакциями или строго одушевленными объектами просмотра?

Кажется, два общих подхода я могу принять являются:

1) Используйте слои, поместите второй фрагмент под первым, размер его так, как я хочу, а затем просто перевести первый фрагмент до выше высота второго.

2) Поместите оба фрагмента на один и тот же слой, смежные друг с другом, но со вторым фрагментом с нижнего края экрана. Затем переведите оба из них вверх на постоянную сумму.

3) Что-то еще, о чем я не думал.

Мысли?

ответ

0

Если вы замените свой контейнер новым фрагментом с помощью обычного перехода slide_up, он будет вызывать текущий и выключить экран.

например:

R.id.fragment_container содержит фрагмент выполнить fragment transaction заменить R.id.fragment_container с фрагментом B и пользовательского перехода, и А будет скользить вверх и прочь.

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

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

+0

Но я не хочу, чтобы A скользил по экрану ... в основном я хочу, чтобы A скользил вверх, оставив около 1/3 нижней части экрана, свободной от B. – kc9ddi

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