Comment faire pour augmenter le ScrollView hauteur sous Android?
Salut les amis,
Je suis en utilisant GridView
à l'intérieur d'un ScrollView
pour l'affichage des images. Dans le contrôle GridView j'ai 16 images qui ont été ajoutées dynamiquement, mais le ScrollView
n'affiche pas toutes les 16 images (voir capture d'écran).
Je veux le ScrollView
pour afficher la totalité de GridView
, quelqu'un sait comment je peux résoudre ce problème?
Merci à tous.
fichier xml:
<?xml version="1.0" encoding="utf-8"?>
<merge android:layout_width="wrap_content" android:layout_height="340dip" xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="320dip" android:orientation="vertical"
android:background="@color/black">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollview"
android:layout_width="fill_parent"
android:layout_height="500dip"
android:background="#ffffff"
android:paddingTop="10dip"
android:paddingLeft="5dip"
android:layout_weight="1">
<GridView
android:id="@+id/jr_lookbook_grid" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:numColumns="4"
android:verticalSpacing="10dp" android:horizontalSpacing="10dp"
android:columnWidth="90dp" android:stretchMode="columnWidth"
android:adjustViewBounds="true"
android:background="@drawable/shape"
android:gravity="center" android:layout_weight="1"/>
</ScrollView>
<Button android:id="@+id/click"
android:background="@android:color/transparent"
android:text="Load More Pictures..."
android:textColor="@color/white"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_centerVertical="true" />
</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout02_img"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:layout_alignParentBottom="true"
android:background="@color/black"
android:layout_alignParentLeft="true">
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="none"
/>
<ImageView android:id="@+id/ImageView01"
android:layout_gravity="center_horizontal"
android:scaleType="centerInside"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:adjustViewBounds="true">
</ImageView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout02" android:background="#AA000000"
android:layout_width="400px"
android:layout_height="50dip"
android:layout_gravity="bottom"
>
<Button
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/back1"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dip"
/>
<Button
android:background="@drawable/forward5"
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_alignParentRight="true"
android:layout_marginLeft="215dip"
/>
</LinearLayout>
</merge>
OriginalL'auteur sivaraj | 2010-09-09
Vous devez vous connecter pour publier un commentaire.
L'utilisation de l'attribut
android:fillViewport="true"
en XML de mise en page ou de l'utilisation de la méthodesetFillViewport(true)
dans du code Java.Jeter un oeil à : Le ScrollView documentation
pas plus de travail ...
OriginalL'auteur Vikas Patidar
J'ai eu un problème similaire où j'ai eu une scrollview en vertu d'une barre de Navigation fixe sur un AbsoluteLayout.
J'ai défini la scrollview de la hauteur à la hauteur de mon écran moins la hauteur de la barre de navigation.
Mon écran était 480dp haut et la barre de navigation a été 47dp haut j'ai donc mis la scrollview hauteur de 433dp dans le fichier xml de mise en page et déplacé le haut de la scrollview vers le bas en dessous de la barre de navigation à l'aide d'un décalage sur Y.
Ajouter les importations suivantes:
Maintenant pour le faire fonctionner pour plusieurs écrans que j'ai ajouté ceci à onCreate de l'activité:
Avec l'aide de cette fonction d'assistance pour obtenir la hauteur de l'écran:
OriginalL'auteur birdman
Vous ne devez pas ajouter GridView dans le ScrollView. Veuillez consulter la GridView API pour la compréhension de la GridView.
Conformément à la définition GridView affiche les éléments en deux dimensions de défilement de la grille. Par conséquent, si vous souhaitez ajouter un défilement composant à l'intérieur de ScrollView le comportement ne serait pas comme prévu. Comme nous ne pouvons pas ajouter de ListView intérieur ScrollView on ne peut pas et ne doit pas ajouter GridView à l'intérieur de ScrollView.
OriginalL'auteur MobDev
Selon moi, il n'est pas nécessaire d'ajouter de défilement de la vue pour Afficher la Grille. Dans Android, il va ajouter de défilement de la vue automatiquement, s'il en est besoin.
OriginalL'auteur Rohit
Si la partie inférieure de la
layout
& partie supérieure de la mise en page de poids sont 0, puis régler le défilement des vues à 1 et à l'utilisationlayout_height="match_parent"
.OriginalL'auteur FabianCook