J'essaie de gonfler un ImageView qui met à l'échelle un Drawable que je peux afficher dans un GalleryView. Mon code pour gonfler la vue semble fonctionner correctement, sauf que les attributs de l'ImageView ne sont pas appliqués. Plus précisément, l'ImageView gonflé n'a pas la largeur/hauteur que je lui ai assignée via les paramètres android: layout en XML. Est-ce que quelqu'un peut me montrer ce que je fais mal?Gonflé ImageView à mettre dans GalleryView n'est pas la bonne taille
Je veux définir la largeur/hauteur de l'image en dp, de sorte qu'il est la bonne taille sur plusieurs écrans dpis et soutenir Android 1.5+. En conséquence, je ne peux pas utiliser quelque chose comme:
i.setLayoutParams(new Gallery.LayoutParams(150, 116)
Ma définition de mise en page est:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="150dp" android:layout_height="116dp"
android:background="@drawable/gallery_item_background"
android:scaleType="fitXY" />
</ImageView>
Et l'extrait que je utilise pour gonfler le ImageView est:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
ImageView i = (ImageView) inflater.inflate(R.layout.gallery_item, null);
i.setImageResource(mImageIds.get(position));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
Pour le moment, j'ai piraté une solution en utilisant DisplayMetrics.density. float den = mDisplayMetrics.density; convertView.setLayoutParams (nouveau Gallery.LayoutParams ((int) (den * 150), (int) (den * 116))); – Richard