我有一个图库,其中包含一组在运行时下载的图像。
我按照这里的例子: http://www.anddev.org/a_androidwidgetgallery_-_example-t332.html
但不是使用
i.setImageResource(this.myImageIds[position]);
我用过
i.setImageBitmap(bitmaps.get(position));
这不会填满整个屏幕宽度,只能达到此处指定的宽度:
i.setLayoutParams(new Gallery.LayoutParams(150, 150));
当我增加此数字时,项目会随之缩放,而不是每个示例显示更多图像。我甚至尝试在将图像添加到集合之前缩放图像。不确定我缺少什么,或者其他可能的例子。任何帮助都会很棒,谢谢。
答案 0 :(得分:1)
您似乎可以将布局的宽度设置为图像的实际大小。或者通过某种逻辑计算比例因子。例如,当图像远离画廊中心时,您可以减小图像的宽度。
public View getView(int position,View convertView,ViewGroup parent){ ImageView i = new ImageView(this.myContext);
i.setImageResource(this.myImageIds[position]);
/* Image should be scaled as width/height are set. */
i.setScaleType(ImageView.ScaleType.FIT_XY);
/* Set the Width/Height of the ImageView. */
int selectedPosition = ((Gallery) parent).getSelectedItemPosition();
float scale = getScale(position - selected);
int width = Math.round(IMAGE_WIDTH * scale);
int height = Math.round(IMAGE_HEIGHT * scale);
i.setLayoutParams(new Gallery.LayoutParams(width, height));
return i;
}
答案 1 :(得分:-1)
在你的布局xml文件中一定要设置android:layout_width =“fill_parent”,就像这样
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dip"
android:layout_gravity="center_horizontal|bottom"
android:padding="1dip"
android:background="#AA000000"
/>