Android Gallery问题 - 图库大小超出预期

时间:2011-05-11 11:19:15

标签: android android-layout android-widget

我有一些活动与画廊小部件以及其他视图。我希望画廊和我的活动一样宽,我希望我的图像与画廊大小相匹配。我对ImageView.ScaleType感到有些困惑,但这就是我所选择的:

Gallery的curtom适配器的一部分:

@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;
}

我的活动布局的一部分:

 <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 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

尝试更改图像视图的布局参数(也将高度设置为fill_parent) -

Gallery.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 

答案 2 :(得分:0)

对于gridview或parent,

android:layout_weight =“1”。 你必须使用“hierarchyviewer”工具才能更好地解决问题 什么布局需要具有设计优先级, 为了解决什么布局没有填充自己的父母。

我希望它对你有所帮助。