Я пытаюсь раздуть ImageView, который масштабирует Drawable, который я могу отобразить в GalleryView. Мой код для раздувания представления, похоже, работает нормально, за исключением того, что атрибуты ImageView не применяются. В частности, надутый ImageView не имеет ширины/высоты, которые я установил для него с помощью параметров android: layout в XML.Надутый ImageView для размещения в GalleryView - это не тот нужный размер
Может ли кто-нибудь показать мне, что я делаю неправильно?
Я хочу установить ширину/высоту изображения в формате dp, так что это правильный размер для нескольких экранных dpis и поддержка Android 1.5+. В результате я не могу использовать что-то вроде:
i.setLayoutParams(new Gallery.LayoutParams(150, 116)
определения Моего макета является:
<?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>
И сниппаю я использую, чтобы раздуть ImageView является:
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;
}
На данный момент я взломал решение, используя DisplayMetrics.density. float den = mDisplayMetrics.density; convertView.setLayoutParams (новая галерея.LayoutParams ((int) (den * 150), (int) (den * 116))); – Richard