【问题标题】:Android image gallery with buttons and detail activity带有按钮和详细活动的 Android 图像库
【发布时间】:2017-05-19 05:01:11
【问题描述】:

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

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

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

【问题讨论】:

  • 听起来像你的位置,创建一个网格视图。每次点击都会启动一个新活动。听起来像是一个完美的开始。转移到片段可能会在以后进行。
  • 那么我的 GalleryActivity 应该有一个 onItemClickListener() 来启动 DetailActivity?这是否意味着这将是单击项目(ImageView + ImageButton)或者可以区分单击 ImageView 或 ImageButton?
  • @MatthewShearer 你有什么线索吗?

标签: android image-gallery


【解决方案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;
}
}

【讨论】:

  • 您可能还应该考虑使用带有网格布局管理器的 Recyclerview,但原理相同
  • 它现在可以工作了,按钮和启动细节活动的 imageView 的单独操作。非常感谢!
  • 完全没问题。
猜你喜欢
  • 2016-04-21
  • 2023-03-25
  • 2012-09-03
  • 2011-10-11
  • 1970-01-01
  • 2012-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多