J'ai beaucoup d'éléments à l'écran et je dois utiliser la barre de défilement pour que l'utilisateur puisse faire défiler vers le bas. Cependant, le défilement n'est pas visible ou ne fonctionne pas. Comment est-il possible d'ajouter une barre de défilement à un LinearLayout
?
241
Réponses:
Enveloppez la disposition linéaire avec un
<ScrollView>
Voir ici pour un exemple:
la source
la source
Cela peut être fait en utilisant la balise
<ScrollView>
. Pour ScrollView , une chose que vous devez rappeler, ScrollView doit avoir un seul enfant .Si vous souhaitez que votre mise en page complète puisse défiler, ajoutez-
<ScrollView>
la en haut. Vérifiez l'exemple ci-dessous.Mais si vous voulez qu'une partie de votre mise en page puisse défiler, ajoutez-la
<ScrollView>
dans cette partie. Vérifiez l'exemple ci-dessous.la source
Voici comment je l'ai fait par essais et erreurs.
Étant donné que ScrollView ne peut avoir qu'un seul enfant, cet enfant est une disposition linéaire. Ensuite, tous les autres types de disposition se produisent dans la première disposition linéaire. Je n'ai pas encore essayé d'inclure une disposition relative, mais ils me rendent fou donc j'attendrai le retour de ma raison.
la source
vous devez utiliser l'attribut suivant et l'enfermer dans la disposition linéaire
la source
Vous devez placer ScrollView en tant que premier enfant du fichier de mise en page et maintenant y placer votre mise en page linéaire. Maintenant, Android décidera sur la base du contenu et de la taille de l'appareil disponible d'afficher ou non un défilement.
Assurez-vous que linearlayout n'a pas de frère car ScrollView ne peut pas avoir plus d'un enfant.
la source
la source
Vous pouvez ajouter un attribut dans linearLayout:
android:scrollbars="vertical"
la source