2015-11-27 1 views
7

J'ai un FragmeLayout dans un NestedScrollView, commeFrameLayout ne correspond pas à la hauteur de NestedScrollView

<android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="#000000"> 

Mais le FrameLayout ne remplit pas la hauteur du NestedScrollView. Comment pourrais-je résoudre ce problème?

+0

Je pense que régler la gravité = centre ou autre dans la présentation du cadre –

+0

faire 'android: layout_gravity = "center"' ou 'android: layout_gravity = "center | fill_vertical"' ne semble pas fonctionner – learner

+0

'android: fillViewport = "true" 'cochez ceci Ajouter' android.support.v4.widget.NestedScrollView' –

Répondre

26

Vérifiez cette solution
Utilisez fillViewport="true" cet attribut provoque l'enfant de vue de défilement pour étendre à la hauteur du ScrollView si nécessaire. Lorsque l'enfant est plus grand que ScrollView, l'attribut n'a aucun effet.

<android.support.v4.widget.NestedScrollView 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
     android:fillViewport="true" 
      app:layout_behavior="@string/appbar_scrolling_view_behavior"> 
+0

J'avais déjà essayé 'android: fillViewport =" true "'. Mais quand je le fais, je reçois une exception nullPointerException à la ligne 'setContentView (R.layout.activity_main);' – learner

+0

Ok, je l'ai eu je pense que vous devriez utiliser tout ce 'android.support.v4.widget.NestedScrollView' dans la disposition linéaire –

+0

Il semble quelque chose d'autre causait l'accident. Donc merci (même si j'avais déjà essayé fillViewport). Je nettoie le projet et maintenant ça marche et je ne sais pas pourquoi ça a échoué. – learner