gpt4 book ai didi

android - 如何在 android 中以编程方式创建 GridView 图片库?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:57:31 26 4
gpt4 key购买 nike

我想以编程方式创建 3x3 gridview 以显示图像。我想通过获取屏幕尺寸来设置每个项目的高度和宽度。喜欢:

DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;

然后每个项目width = screenWidth/3;

请有人帮助我或一些链接以供引用。

最佳答案

这就是您如何以编程方式创建 gridview,

    GridView grid = new GridView(this);
grid.setId(ViewIdentification.getId());
grid.setLayoutParams(new GridView.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
grid.setBackgroundColor(Color.WHITE);
grid.setNumColumns(3);
grid.setColumnWidth(GridView.AUTO_FIT);
grid.setVerticalSpacing(5);
grid.setHorizontalSpacing(5);
grid.setStretchMode(GridView.STRETCH_COLUMN_WIDTH);

将上述 View 添加到您的布局中。在这里您可以获取显示的高度和宽度。

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay()
.getMetrics(displaymetrics);
int width = displaymetrics.widthPixels;
int height = displaymetrics.heightPixels;

这是适配器类:

public class ImageAdapter extends BaseAdapter {

private Context mContext;
private Bitmap[]mis_fotos;

public ImageAdapter(Context c) {
mContext = c; }

public int getCount() {
return mis_fotos.length;
}

public Object getItem(int position) {
return position; }

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

public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(width/3, height/3));
imageView.setScaleType(ImageView.setScaleType(ScaleType.FIT_XY));
imageView.setPadding(0, 0, 0, 0);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageBitmap(mis_fotos[position]);
return imageView;
}
}

然后,由您决定,如果您要传递动态 URL,请相应地更改您的适配器。将您的适配器设置为您的 gridview。如果您有任何问题,请告诉我。

关于android - 如何在 android 中以编程方式创建 GridView 图片库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22372269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com