티스토리 뷰

목차

    반응형

    안드로이드, 이미지뷰 (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) + 갤러리 예제

    반응형