Android图像库与按钮和详细活动

时间:2017-05-16 20:25:14

标签: android image-gallery

我想在android studio中创建一个图库,它会在一个文件夹中显示图像的缩略图,每个图像都有一个删除图像的按钮。当单击图像时,它会触发另一个活动(通过意图)以全屏显示图像。

我正在考虑使用自定义GridView,并为每个项目(自定义类)使用ImageView和ImageButton。或者我应该使用片段(我从未使用过它们)。

我想知道最好的方法是什么。

1 个答案:

答案 0 :(得分:1)

您的图库Activity会有一个GridView,而这又需要一个适配器。

Adapter内,您会通过ImageViewImageButton

为每个视图充气

然后,您将为每个视图分配独立的点击侦听器。

类似

public class CustomGridAdapter extends BaseAdapter {

private Context context;
private String[] items;
LayoutInflater inflater;

public CustomGridAdapter(Context context, String[] items) {
    this.context = context;
    this.items = items;
    inflater = (LayoutInflater) this.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public View getView(int position, View convertView, ViewGroup parent) {

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.cell, null);
    }
    Button button = (Button) convertView.findViewById(R.id.grid_item_button);
    button.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
               // launch activity
          }
    });

    ImageButton imageButton = (ImageButton) convertView.findViewById(R.id.grid_item_imagebutton);
    imageButton.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
               // launch activity
          }
    });
    return convertView;
}

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

@Override
public Object getItem(int position) {
    return items[position];
}

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