Я потратил 3 часа, пытаясь заставить это работать безуспешно, так что кто-то здесь может помочь.
У меня есть FrameLayout, который загружается с помощью inflate из файла XML, и в нем у меня есть следующий макет:
</p>
<pre><code> <LinearLayout
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_weight="1"
android:orientation="vertical" >
<ImageView
android:id="@+id/element_image"
android:layout_width="wrap_content"
android:layout_height="0dip"
android:layout_weight="1"
android:layout_marginBottom="10dip"
android:layout_marginLeft="10dip"
android:scaleType="fitStart"
android:background="#888888" >
</ImageView>
<Button android:id="@+id/element_button"
style="@style/Button"
android:layout_gravity="right"
android:text="@string/element_button_label"
/>
</LinearLayout>
У меня есть изображение, загруженное из BLOB-объекта, которое я хочу отобразить в этом ImageView. В GalleryAdaptor я загружаю изображение так:
ImageView image = (ImageView) v.findViewById(R.id.element_image);
byte [] bitmapData = cursor.getBlob(4);
Bitmap bitmap = BitmapFactory.decodeByteArray(bitmapData, 0, bitmapData.length);
image.setImageBitmap(bitmap);
Когда я использую android: scaleType = "fitStart" в макете над изображением, оно не масштабируется до высоты или ширины ImageView, но составляет около трети его ширины (что я вижу по заданному серому фону) это) и по центру.
Если я использую android: scaleType = "fitXY", высота изображения масштабируется, а ширина - нет. Снова изображение центрировано.
Может кто-нибудь подсказать мне:
- Как заставить изображение масштабировать по высоте и ширине
- Как выровнять изображение вверху справа