Intereting Posts
Android UnknownHostException: есть ли способ установить тайм-аут? Не удалось открыть базу данных геоданных в веб-браузере Android Как определить, было ли отклонено уведомление? Каков правильный способ импорта проекта Android Studio в репозиторий SVN? Как получить доступ к представлениям из представления пейджера Слушатель может быть заменен лямбдой Как определить, находятся ли координаты X и Y внутри моей кнопки? Как создать пользовательское уведомление Push для моего собственного приложения? Пытается создать Whatsapps быстрый ответ для телефонов до N Отправить сообщение от wearable to phone, а затем немедленно ответить SetColorFilter () сломан на Android 4, работает на Android 5 Разработка приложений для Android для планшетов Как установить изображение в режиме просмотра изображений в Android? Показать все элементы в AutocompleteTextView без ввода текста Анимация по обнаружению объектов для Android

Android UINavigationController-подобная функция

На iPhone я использую контроллер навигации, чтобы нажимать и вызывать «Просмотры». Очень удобно.

Есть ли эквивалент в Android?

Solutions Collecting From Web of "Android UINavigationController-подобная функция"

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

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

Это старый вопрос, но я считаю, что ответ изменился. Теперь можно имитировать стек Nav в iOS в android с помощью фрагментов. http://developer.android.com/reference/android/app/Fragment.html

В основном вместо перехода от Activity to Activity вы вместо этого остаетесь в одном Activity, который управляет отображением, организацией и анимацией фрагментов, каждый из которых содержит свое поведение, подобно модели NavController / UIViewController в iOS.

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

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

Изображение базовой рамки Android

Вот как это использовать:

  • Добавьте структуру в свой проект как модуль
  • Добавьте новый Java-класс в свой проект («Файл – Новый – Java-класс»). Примечание. Если вы редактируете файл Activity.java, который предоставляет вам шаблон, удалите все его реализации и оставьте его пустым.
  • Сделайте его расширением NavigationActivity
  • Внедрить все абстрактные методы NavigationActivity

( В Android Studio, если вы нажмете Alt + insert и выберите реализацию – методы, все определения функций автоматически генерируются ).

public class NavigationTest extends NavigationActivity{ @Override public Fragment firstFragment() { //return the first fragment that will be shown } @Override public Boolean showBackButtonInFirstFragment() { //show back button already in the first Fragment //set to True if this activity is called by another Activity //the back button will then pop back to the previous Activity } @Override public Boolean showMasterDetailLayoutInTablets() { //set to false if you don't want a master-detail layout in tablets } } 

Представление нового фрагмента

Вы можете представить новый фрагмент (с приятной анимацией), вызвав метод pushFragment из NavigationActivity.

 public void pushFragment(Fragment newFragment, animationType animation, boolean showAsDetailFragmentIfPossible) 

NewFragment (Фрагмент): новый фрагмент, который будет представлен

Анимация (animationType): тип анимации enum: RIGHT_TO_LEFT, BOTTOM_TO_TOP, FLIP

ShowAsDetailFragmentIfPossible (boolean): если установлено как «Истина», пользователь находится в планшетном ПК, и вы используете макет главной детали, фрагмент будет показан в подробном фрагменте (панель справа)!

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

 NextFragment f = new NextFragment(); NavigationActivity nav =((NavigationActivity)getActivity()); nav.pushFragment(f,NavigationActivity.animationType.RIGHT_TO_LEFT,false); 

Вам не нужно беспокоиться о реализации поведения кнопки «Назад». Это автоматически обрабатывается классом NavigationActivity.