안드로이드 개발 질문/답변
(글 수 45,052)
girdview화면을 구성하면 그림들을 선택하면 뒤가 주황색으로 바뀌잖아요
그럼 사진 하나를 선택해서 확대한다거나 할 수 있나요?
그림 하나를 선택했을 때 다이얼로그 뜨는 것 처럼 크게 확대했다가
다시 클릭하면 원래 girdview 화면으로 돌아가게 하고 싶은데,, 어떻게 해야될까요?
그럼 사진 하나를 선택해서 확대한다거나 할 수 있나요?
그림 하나를 선택했을 때 다이얼로그 뜨는 것 처럼 크게 확대했다가
다시 클릭하면 원래 girdview 화면으로 돌아가게 하고 싶은데,, 어떻게 해야될까요?
2009.07.09 18:07:27
GridView 를 말씀하시는게 맞겠죠?
API Demo 중에서 grid2 를 수정해서 토스트를 띄우도록 했습니다.
이걸 AlertDialog 로 작성하신 후, 새롭게 띄워지는 이미지에 대해서 온클릭 리스너를 등록하시고, 온 클릭시에 AlertDialog를 닫아버리는 식으로 하시던가, 아니면 AlertDialog의 negativeButton 을 ImageButton으로 하셔서, Button의 이미지를 띄워지는 이미지로 처리하시면 될 꺼 같네요 ^^;
가볍게 소스 적어드릴께요 .
ImageAdapter 만 적어놓아도 충분하리라 생각됩니다 :)
public class ImageAdapter extends BaseAdapter {
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(final int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(45, 45));
imageView.setAdjustViewBounds(false);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
imageView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ImageView mImg = new ImageView(mContext);
mImg.setImageResource(mThumbIds[position]);
Toast mToast = new Toast(mContext);
mToast.setDuration(100000000);
mToast.setView(mImg);
mToast.show();
}
});
return imageView;
}
private Context mContext;
private Integer[] mThumbIds = {
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
};
}