Je veux mettre beaucoup plus d'images dans la vue horizontale de défilement, s'il vous plaît assumer des images comme, a.jpeg, b.jpeg, c.jpeg, (d, e, f, g, h, i) .jpeg et suggesst me Pour les impliquer dans ScrollView?
J'ai essayé de faire en ajoutant de nombreuses images comme indiqué ci-dessous. p>
Cette méthode est en retard: p>
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/a.jpeg"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/b.jpeg"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/c.jpeg"/>
and many other images....
</HorizontalScrollView>
3 Réponses :
Vous utilisez vos images directement sans gérer correctement la mémoire que les bitmaps prennent dans Android. P>
Lorsque vous utilisez directement une image dans Image Chargement de bibliothèques comme Glide permet de charger des images en redimensionnant l'image en fonction du En bref: si vous chargez une image 1920 * 1080 à l'intérieur d'un imageview code> à l'aide de Android: SRC CODE> Tag, elle est liée au décalage si les images sont trop grandes. p>
DPI code> de l'appareil. P>
imageview code>, sur un périphérique directement, il chargera l'image complète, c'est-à-dire une image complète de la résolution, gaspillant beaucoup de mémoire faisant la même mémoire. , signifiant, plus bégayant / décalage en défilement. Mais lorsque vous chargez ces mêmes images à l'aide des bibliothèques de chargement des images, ils redimensionnent l'image, la signification, si l'appareil est 1080P, votre image est une résolution de 4k, et si votre imageview code> remplit l'écran (en supposant que l'image correspond parfaitement à l'appareil), cette bibliothèque redimensionnera et rendra l'image 1080p, puis la mettra à l'intérieur de l'image code> code>, enregistrant beaucoup de mémoire nécessaire pour dessiner bitmaps. P>
Ajouter des images Dynamiquement
//int imageArray[] = [ R.drawable.ic_launcher, ....];
HorizontalScrollView horizontalScrollView = (HorizontalScrollView)
findViewById(R.id.horizontalScrollView);
for(int i=0; i< imageArray.length; i++) {
ImageView image = new ImageView(MainActivity.this);
image.setBackgroundResource(imageArray[i]);
horizontalScrollView.addView(image);
}
Je ne veux pas de manière dynamique, je veux permettre à l'utilisateur de voir les images en défilement l'un après l'autre, s'il vous plaît @arwyshelke aidez-moi
Aussi loin que je sache, dans ce cas, il n'y a pas de solution, vous devez faire du compromis avec votre code. Son seulement 100% de cette façon.
@Aarzu, je vous ai déjà dit la réponse à votre problème. Au moins la lire au lieu de demander de l'aide à d'autres personnes. Au moins lu, allez sur le lien mentionné. Je suis venu ici après avoir vu ma réponse a été évoquée une fois. Ce que cette personne a dit est la même que d'ajouter ces images ImageView via XML. Si vous utilisez la bibliothèque de chargement de l'image comme je l'ai dit, cela résoudra votre problème.
Je pense que vous devez utiliser un recyclerview code> au lieu de horizontalscrollview code> pour afficher dynamiquement vos images. P>