Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android – Disposición del coordinador, diseño de cajones y fragmentos

He pasado algún tiempo tratando de implementar esto, e hizo mi parte justa de la investigación, pero no pudo hacer que funcione. En el ejemplo cheesesquare de Chris Banes, hace que la barra de herramientas se desplace cuando se desplaza el ViewPager. El ViewPager se incluye directamente en su diseño de cajones, justo antes del NaviagtionView.

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_height="match_parent" android:layout_width="match_parent" android:fitsSystemWindows="true"> <!-- THIS CONTAINS COORDINATOR LAYOUT with APPBAR LAYOUT + VIEWPAGER --> <include layout="@layout/include_list_viewpager"/> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_height="match_parent" android:layout_width="wrap_content" android:layout_gravity="start" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header" app:menu="@menu/drawer_view"/> </android.support.v4.widget.DrawerLayout> 

El archivo include_list_viewpager es el siguiente:

 <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" android:layout_margin="@dimen/fab_margin" android:src="@drawable/ic_done"/> </android.support.design.widget.CoordinatorLayout> 

Me gustaría tener un FrameLayout (o NestedScrollView) en lugar del ViewPager. Entonces, podría cargar dinámicamente fragmentos en él mientras que el usuario hace clic en los artículos de la disposición del cajón, y todos tendrían una barra de herramientas animada agradable. Hasta ahora, no puedo hacer que la barra de herramientas se desplace cuando se está operando en los fragmentos invocados. Me pregunto si es posible.

¿Alguien ha logrado esto? Cualquier puntero es muy apreciado.

  • Android: ¿Cómo / Tutorial para cambiar ActionBar a ActionBarCompat (Barra de herramientas)?
  • ¿Dónde defino XML para el widget de la barra de herramientas en Android 5.0?
  • Barra de herramientas dentro de CardView para crear un menú emergente (icono de desbordamiento)
  • Creación de una pantalla de preferencias con soporte (v21) Barra de herramientas
  • Contenido detrás de CoordinatorLayout AppBarLayout
  • La barra de herramientas no se oculta en RecyclerView
  • Adición de vista personalizada a una barra de herramientas
  • Barra de herramientas setNavigationOnClickListener breaks ActionbarDrawerToggle funcionalidad
  • One Solution collect form web for “Android – Disposición del coordinador, diseño de cajones y fragmentos”

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/mToolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_width="match_parent" android:layout_height="wrap_content"/> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v4.view.ViewPager android:id="@+id/tab_viewpager" android:layout_width="match_parent" android:layout_height="match_parent"/> <android.support.design.widget.NavigationView android:id="@+id/navigation_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer"/> </android.support.v4.widget.DrawerLayout> </android.support.design.widget.CoordinatorLayout> 

    CoordinatorLayout debe ser el padre de todas las vistas. DrawerLayout obtiene el layout_behavior. Dado que desea interactuar con los elementos de viewpager, debe estar en la vista superior del DrawerLayout.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.