Android 包含按钮和详细信息的图库 activity

Android image gallery with buttons and detail activity

我想在 android studio 中制作一个画廊,它会在一个文件夹中显示图像的缩略图,每个图像都有一个删除图像的按钮。当一个人点击图像时,它会触发另一个 activity(通过意图)以全屏显示图像。

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

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

您的图库 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;
}
}