2017-05-16 4 views
1

私は、画像のサムネイルを画像に表示するアンドロイドスタジオでギャラリーを作りたいと思います。ユーザーが画像をクリックすると、別のアクティビティ(インテントを介して)がトリガされ、画像がフルスクリーンで表示されます。ボタンと詳細のアクティビティがあるAndroidの画像ギャラリー

私はカスタムのGridViewを使用し、各項目(カスタムクラス)に対してImageViewとImageButtonを使用することを考えていました。または私は断片を使うべきです(私はそれらを使ったことがない)。

私はそれについての最良の方法は何だろうと思っていました。

+1

よう

何かが上のスポットのように聞こえる、グリッドビューを作成します。クリックごとに新しいアクティビティを開始します。完璧なスタートのように聞こえる。断片への移動は後で来る可能性があります。 –

+0

次に、私のGalleryActivityはDetailActivityを開始するonItemClickListener()を持っていますか?これは、アイテム(ImageView + ImageButton)をクリックするか、ImageViewまたはImageButtonをクリックするかを区別できますか? – barouf

+0

@MatthewShearer何か手がかりはありますか? – barouf

答えて

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; 
} 
} 
+0

グリッドレイアウトマネージャを使ってRecyclerviewを使うこともあるでしょうが、それは同じ原則です –

+0

ボタンの詳細な操作とdetailアクティビティを開始するimageViewが別々に動作しています。どうもありがとう! – barouf

+0

全く問題ありません。 –

関連する問題