Android 如何在GridView中对齐ImageView

Android 如何在GridView中对齐ImageView,android,gridview,baseadapter,Android,Gridview,Baseadapter,我已经通过Java代码为GridView创建了BaseAdapter。 我希望Gridview中的图像显示如下: 但我目前使用的代码使图像显示如下: 调整图像大小的代码为: public class objectAdapter extends BaseAdapter { private Context context; private int[] image_id = {R.drawable.banana, R.drawable.kiwi, R.drawable.oatmeal, R.dra

我已经通过Java代码为GridView创建了BaseAdapter。
我希望Gridview中的图像显示如下:

但我目前使用的代码使图像显示如下:

调整图像大小的代码为:

public class objectAdapter extends BaseAdapter {
private Context context;
private int[] image_id = {R.drawable.banana, R.drawable.kiwi, R.drawable.oatmeal, R.drawable.coconut};
String[] names = {"banana", "kiwi", "oatmeal", "coconut"};

public objectAdapter (Context context){
    this.context = context;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView img;
    if (convertView == null){
        img = new ImageView(context);
        img.setLayoutParams(new GridView.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    }
    else{
        img = (ImageView) convertView;
    }
    img.setImageResource(image_id[position]);
    return img;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public int getCount() {
    return image_id.length;
}
}

如果需要,以下是我的MainActivity和activity_main.xml文件:

主要活动:

public class MainActivity extends Activity {

GridView gridview_id;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    gridview_id = (GridView) findViewById(R.id.gridview_id);
    gridview_id.setAdapter(new objectAdapter(this) );
    gridview_id.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        }
    });

}
}

如果你知道我如何解决这个问题,请告诉我。

我非常感谢。

也许你想要上传图像,但看起来好像失败了……如果你不能上传,请解释你想要什么结果以及文本的最新情况。基本上,我目前拥有的代码使imageview垂直方向非常大,但水平方向上imageview与实际图像一样大。我希望imageview在水平和垂直方向上都与实际图像一样大。
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
android:numColumns="auto_fit"
android:stretchMode="columnWidth"
android:horizontalSpacing="2dp"
android:verticalSpacing="2dp"
android:id="@+id/gridview_id">