안녕하세요 이미지 격자보기 용 코드가 있습니다. 그리드의 각 이미지를 클릭하면 빈 레이아웃이 열립니다. 첫 번째 이미지를 클릭하면 더 큰 크기로 열리겠습니다.안드로이드에있는 이미지의 클릭 격자 모양
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
/**
* Created by lenovo on 06/08/2016.
*/
public class MyAdapter extends BaseAdapter {
private final List<Item> mItems = new ArrayList<Item>();
private final LayoutInflater mInflater;
public MyAdapter(Context context) {
mInflater = LayoutInflater.from(context);
mItems.add(new Item("Red", R.drawable.ic_menu_camera));
mItems.add(new Item("Magenta", R.drawable.ic_menu_gallery));
mItems.add(new Item("Dark Gray", R.drawable.ic_menu_manage));
mItems.add(new Item("Gray", R.drawable.ic_menu_send));
mItems.add(new Item("Green", R.drawable.ic_menu_share));
mItems.add(new Item("Cyan", R.drawable.ic_menu_slideshow));
mItems.add(new Item("Red", R.drawable.ic_menu_camera));
mItems.add(new Item("Magenta", R.drawable.ic_menu_gallery));
mItems.add(new Item("Dark Gray", R.drawable.ic_menu_manage));
mItems.add(new Item("Gray", R.drawable.ic_menu_send));
mItems.add(new Item("Green", R.drawable.ic_menu_share));
mItems.add(new Item("Cyan", R.drawable.ic_menu_slideshow));
}
@Override
public int getCount() {
return mItems.size();
}
@Override
public Item getItem(int i) {
return mItems.get(i);
}
@Override
public long getItemId(int i) {
return mItems.get(i).drawableId;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
View v = view;
ImageView picture;
TextView name;
if (v == null) {
v = mInflater.inflate(R.layout.grid_item, viewGroup, false);
v.setTag(R.id.picture, v.findViewById(R.id.picture));
v.setTag(R.id.text, v.findViewById(R.id.text));
}
picture = (ImageView) v.getTag(R.id.picture);
name = (TextView) v.getTag(R.id.text);
Item item = getItem(i);
picture.setImageResource(item.drawableId);
name.setText(item.name);
return v;
}
private static class Item {
public final String name;
public final int drawableId;
Item(String name, int drawableId) {
this.name = name;
this.drawableId = drawableId;
}
}
}
이이 SquareImageView 자바 클래스입니다 : - - :
내가이 주요import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
public class fitgridview extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fitgridview);
GridView gridView = (GridView)findViewById(R.id.gridview);
gridView.setAdapter(new MyAdapter(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
// Send intent to SingleViewActivity
Intent i = new Intent(getApplicationContext(), SingleViewActivity2.class);
// Pass image index
i.putExtra("id", position);
startActivity(i);
}
});
}
}
의 코드이며,이 myAdapter 자바 클래스의 코드 를 클릭 같은 이미지를 호출
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ImageView;
/**
* Created by lenovo on 06/08/2016.
*/
public class SquareImageView extends ImageView {
public SquareImageView(Context context) {
super(context);
}
public SquareImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SquareImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth()); //Snap to width
}
}
클릭하면 어떻게 될까요? 내가 무엇을해야하는지 SingleViewActivity2로 작성해야합니까 도와 주셔서 감사합니다.
가 두 번째 활동 코드를 보여줄 수 활동 사이
Parcelable
개체를 전달할 수 있습니다? –