网格视图自动调整未显示完整图像

时间:2014-03-10 11:24:12

标签: android image gridview

为什么我的网格视图会显示这样的图像? Grid view from emulator

我的代码:

<GridView
    android:id="@+id/grid_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_below="@+id/sbsz"
  android:numColumns="auto_fit"
    android:columnWidth="90dp"
    android:horizontalSpacing="10dp"
    android:verticalSpacing="10dp"
    android:gravity="center"
    android:stretchMode="columnWidth" >  
</GridView>

图像适配器:

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {
         LinearLayout linearlayout=new LinearLayout(mContext);
         ImageView imageView = new ImageView(mContext);
         text=new TextView(mContext);
         linearlayout.setOrientation(LinearLayout.VERTICAL);
        imageView.setImageResource(mThumbIds[position]);
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setLayoutParams(new GridView.LayoutParams(270, 270));
        text.setText(mThumbTxt[position]); 

          linearlayout.addView(imageView);
          linearlayout.addView(text);
        return linearlayout;
    }

}

这段代码有什么问题? 如何让它显示完整的图像?不应该自动进行吗?

1 个答案:

答案 0 :(得分:1)

自动调整意味着它将计算它可以容纳多少90dp宽的列。您应该将比例类型更改为中心裁剪,这看起来更好。并且可能使用另一个LayoutParams作为图像,例如:     imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT,120));