如何在android中以编程方式创建GridView图片库? [英] How to create GridView image gallery programmatically in android?

查看:19
本文介绍了如何在android中以编程方式创建GridView图片库?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to create 3x3 gridview programmatically for displaying images. And I want to set each item height and width by getting screen dimensions. Like:

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

那么每一项width = screenWidth/3;

请有人帮助我或提供一些链接以供参考.

Please someone help me or some link for reference.

推荐答案

这是您可以通过编程方式创建 gridview 的方法,

This is how you can create gridview programmatically,

    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);

将上述视图添加到您的布局中.在这里你可以得到显示的高度和宽度.

Add the above view to your layout. And here you can get the height and width of the display.

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.如果您有任何问题,请告诉我.

Then, It's upto you, If you are passing dynamic URL, change your adapter accordingly. set your adapter to your gridview. Let me know if you have any issues.

这篇关于如何在android中以编程方式创建GridView图片库?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆