2016-07-12 5 views
0

J'ai défini FrameLayout en tant que vue parent et défini un comportement de défilement d'attribut. Après le défilement vers le bas Si l'utilisateur déclenche le OnBackPress l'écran devrait aller à la partie supérieure de cette vue. Comment puis-je faire ceci?Comment puis-je voir l'emplacement principal d'un écran dans un FragmentLayout?

<FrameLayout 
     android:id="@+id/fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

     <--ChildViews---> 
</FrameLayout> 

J'ai essayé d'utiliser content_frame.scrollTo (0,0); mais ça marche maintenant.

Répondre

0

envelopper votre FrameLayout dans un ScrollView tout d'abord, au lieu de content_frame.scrollTo d'appel (0,0), essayez ScrollView.scrollTo (0, 0)

<ScrollView 
    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="wrap_content" 
    > 
    <FrameLayout 
     android:id="@+id/fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" 
     > 

    <!--ChildViews --> 
    </FrameLayout> 
</ScrollView> 

et j'ai remarqué que vous peut utiliser CoordinatorLayout en tant que vue racine, si dans ce cas, il vaut mieux utiliser android.support.v4.widget.NestedScrollView au lieu de ScrollView, car NestedScrollView déléguera l'événement touch à un NestedScrollingParent s'il est présent.

+0

Oui, vous avez raison déjà résolu hier en utilisant ScrollView.scrollTo (0.0) – geenee24

+0

Je l'ai déjà fait ce que vous avez dit le problème maintenant, si j'utilise NestedScrollView le RecycleView ne l'écoute pas OnScrolledLister quand j'inclure dans le FrameLayout. – geenee24