安卓相册问题 - 相册大小比预期要大

4

我有一个带有其他视图的画廊小部件的活动。我希望画廊与我的活动一样宽,并且希望我的图像与画廊大小匹配。我对 ImageView.ScaleType 有点困惑,但这就是我选择的:

我的画廊自定义适配器的一部分:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView=new ImageView(activity);
    imageView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
    imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
    //imageView.setPadding(10, 10, 10, 10);
    String imageUrl="my_uri.com/sample.png";

    imageLoader.displayImage(imageUrl, activity, imageView);

    imageView.setTag(imageUrl);

return imageView;
}

我的Activity布局的一部分:

 <Gallery 
       android:id="@+id/gallery"
       android:layout_below="@+id/tvDetailedDescription"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:background="#CCCCCC"
     />

enter image description here

我需要做的是去掉图库顶部和底部的灰色部分(标为红色)。我想知道,为什么会有这样的大小?也许我在缩放类型方面做了一些有趣的事情吗?

3个回答

1

尝试使用ScaleType.CENTER_CROP代替 - 这将使图像适合整个高度,同时保持其纵横比 - 即左右两侧的一些图像将不可见。

或者您可以使用ScaleType.FIT_XY - 这不会保持纵横比,并且会拉伸图像,以使所有图像都适合ImageView内部。


我需要保留纵横比。CENTER.INSIDE 看起来不错,但是底部和顶部仍然有灰色的额外空间。 - user468311
尝试使用CENTER_CROP - 这将保持宽高比。 - Joseph Earl
这会使图像比视图更大,CENTER_INSIDE是我想要的样子,但我不知道为什么画廊小部件本身会变得比imageview更大。 - user468311

0

对于GridView或父级,应使用android:layout_weight="1"。您必须使用"hierarchyviewer"工具以更好地了解哪种布局需要设计优先级,以了解哪种布局不填充自己的父级。

希望这能帮到您。


0
尝试更改图像视图的布局参数(将高度设置为fill_parent)-
Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接