Inflated ImageView zum Einfügen in GalleryView hat nicht die richtige Größe

Ich versuche, eine ImageView aufzublasen, die ein Drawable skaliert, das ich in einer GalleryView anzeigen kann. Mein Code zum Aufblasen der Ansicht scheint gut zu funktionieren, außer dass die Attribute der ImageView nicht angewendet werden. Insbesondere hat das aufgeblasene ImageView nicht die Breite / Höhe, die ich über android: layout params in XML festgelegt habe.

ann mir jemand zeigen, was ich falsch mach

Ich möchte die Breite / Höhe des Bildes in dp einstellen, damit es auf mehreren Bildschirmen die richtige Größe hat und Android 1.5+ unterstützt. Infolgedessen kann ich so etwas nicht verwenden:

i.setLayoutParams(new Gallery.LayoutParams(150, 116)

Meine Layoutdefinition lautet:

<?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>

Und das Snippet, mit dem ich die ImageView aufblase, lautet:

    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;
    }

Antworten auf die Frage(4)

Ihre Antwort auf die Frage