Je suis à la recherche des meilleures pratiques en matière de la configuration suivante assez commun:Utilisation de l'activité avec tiroir, barre d'outils de défilement, des onglets et des fragments différents
Ce que je fais actuellement est:
Mon principal L'activité a un tiroir de navigation et une barre d'outils. Lorsque vous cliquez sur l'un des éléments de la liste dans le tiroir, un fragment est chargé sous la barre d'outils. Certains fragments ont leurs propres onglets à l'aide de viewpager ect.
Je voudrais faire usage des fonctionnalités matérielles comme cacher la barre d'outils tout en faisant défiler ect. Ce n'est pas un problème pour le faire. Mais il y a un problème lorsque seulement certains de vos fragments aimeraient utiliser la barre d'outils déroulante. L'utilisation d'un Scrollview normal résout le problème si vous pouvez ajouter une marge supplémentaire en bas, mais une fois que vous avez un clavier, il gâchera car le défilement est incorrect. Utiliser un nestedscrollview fonctionne mais fait défiler la barre d'outils. Alors, comment puis-je éviter la barre d'outils de défilement lorsque mon activité détient la barre d'outils et certains fragments que le défilement devrait utiliser et certains pas?
La conception architecturale est-elle fausse? Une autre chose que je pensais être d'avoir les différentes barres d'outils à l'intérieur de chaque fragment ... mais ils doivent partager le même tiroir de navigation, donc vous devez créer et ajouter le ToggleButton à chaque fois? Est-ce la bonne approche? Devrais-je suivre ce chemin? Je ne suis pas convaincu et je voudrais avoir l'opinion de quelqu'un de plus expérimenté que moi. Quelle est la meilleure solution dans ce cas.
Appréciez votre aide! Vive
EDIT: Activité principale
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/fragment_container_first"
>
<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="?android:attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<LinearLayout
android:id="@+id/owner_main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/appBar"
android:orientation="horizontal"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/addicon"
app:fabSize="normal"
app:layout_anchor="@id/owner_main_container"
app:layout_anchorGravity="bottom|right|end"
app:layout_behavior="xxx.Classes.Misc.ScrollAwareFABBehavior"
/>
</android.support.design.widget.CoordinatorLayout>
<!-- The navigation drawer -->
<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:menu="@menu/drawerhost" />
pouvez-vous s'il vous plaît ajouter votre code. –
J'ai ajouté mon code de disposition d'activité – Patric
Y at-il un comportement à définir sur mon nestedscrollview pour éviter de faire défiler la barre d'outils? quelque chose à utiliser à la place de l'appbar_scrolling_view_behaviour. juste besoin d'un nestedscrollview qui ne fait pas défiler ma barre d'outils – Patric