图库项目宽度与图库宽度

时间:2010-01-10 03:28:43

标签: android gallery

我有一个图库,其中包含一组在运行时下载的图像。

我按照这里的例子: 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)); 

当我增加此数字时,项目会随之缩放,而不是每个示例显示更多图像。我甚至尝试在将图像添加到集合之前缩放图像。不确定我缺少什么,或者其他可能的例子。任何帮助都会很棒,谢谢。

2 个答案:

答案 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"
            />