为什么我的网格视图会显示这样的图像?
我的代码:
<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;
}
}
这段代码有什么问题? 如何让它显示完整的图像?不应该自动进行吗?
答案 0 :(得分:1)
自动调整意味着它将计算它可以容纳多少90dp宽的列。您应该将比例类型更改为中心裁剪,这看起来更好。并且可能使用另一个LayoutParams作为图像,例如: imageView.setLayoutParams(new GridView.LayoutParams(LayoutParams.MATCH_PARENT,120));