본문 바로가기
C++ 200제/코딩 IT 정보

안드로이드, 이미지뷰 (Image View) + 갤러리 예제

by vicddory 2018. 1. 19.

안드로이드, 이미지뷰 (Image View) + 갤러리 예제


안드로이드 이미지뷰 예제

- GalleryImageView.zip [링크]


안드로이드 이미지뷰의 기능을 확장한 개념입니다. 안드로이드 Galley 갤러리로 사진의 썸네일을 제공하고, 썸네일을 누르면 안드로이드 이미지뷰로 확대해 크게 보여줍니다.


Android ImageView 이미지뷰 안드로이드[안드로이드, 이미지뷰 (Image View) + 갤러리 예제]


전체 소스는 위 링크에 있고, 여기선 결과 화면과 소스만 소개합니다. 사실, 소스 자체가 많지 않아서 이해하는데 시간이 오래 걸리진 않을거예요.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
package org.androidpeople.gallery;
 
import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.AdapterView.OnItemClickListener;
 
public class GalleryExample extends Activity {
 
    private Gallery gallery;
    private ImageView imgView;
 
    private Integer[] Imgid = {
            R.drawable.a_1, R.drawable.a_2, R.drawable.a_3, R.drawable.a_4, R.drawable.a_5, R.drawable.a_6, 
    };
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        imgView = (ImageView)findViewById(R.id.ImageView01);    
        imgView.setImageResource(Imgid[0]);
        
        gallery = (Gallery) findViewById(R.id.examplegallery);
        gallery.setAdapter(new AddImgAdp(this));
 
        gallery.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView parent, View v, int position, long id) {
                imgView.setImageResource(Imgid[position]); 
        }
    });
    }
 
    public class AddImgAdp extends BaseAdapter {
    int GalItemBg;
        private Context cont;
 
        public AddImgAdp(Context c) {
        cont = c;
        TypedArray typArray = obtainStyledAttributes(R.styleable.GalleryTheme);
        GalItemBg = typArray.getResourceId(R.styleable.GalleryTheme_android_galleryItemBackground, 0);
        typArray.recycle();
        }
 
        public int getCount() {
        return Imgid.length;
        }
 
        public Object getItem(int position) {
        return position;
        }
 
        public long getItemId(int position) {
        return position;
        }
 
        public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imgView = new ImageView(cont);
        imgView.setImageResource(Imgid[position]);
        imgView.setLayoutParams(new Gallery.LayoutParams(8070));
        imgView.setScaleType(ImageView.ScaleType.FIT_XY);
        imgView.setBackgroundResource(GalItemBg);
 
        return imgView;
    }
   }
}
cs


결과 화면


안드로이드 이미지뷰[안드로이드, 이미지뷰 (Image View) + 갤러리 예제]


작은 썸네일로 리스트 전체를 확인하고 안드로이드 이미지뷰로 큰 화면을 표시하는 예제였습니다.


안드로이드, 이미지뷰 (Image View) + 갤러리 예제

댓글