【发布时间】:2010-05-19 21:57:30
【问题描述】:
我正在尝试为可缩放可在 GalleryView 中显示的 Drawable 的 ImageView 充气。我膨胀视图的代码似乎工作正常,除了 ImageView 的属性没有应用。具体来说,膨胀的 ImageView 没有我通过 XML 中的 android:layout 参数为其设置的宽度/高度。
谁能告诉我我做错了什么?
我想在 dp 中设置图像的宽度/高度,以便它在多个屏幕 dpi 中是正确的尺寸并支持 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 充气的 sn-p 是:
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 破解了一个解决方案。浮动书房= mDisplayMetrics.密度; convertView.setLayoutParams(new Gallery.LayoutParams((int)(den * 150), (int)(den * 116)));
标签: android imageview galleryview