2015년 5월 8일 금요일

[Android] 이미지 사진첩(Image Gallery)



이미지 사진첩(ImageGallery)








활용예제


MainActivity .class


public class MainActivity extends ActionBarActivity {


        private ImageSwitcher imgSwit;


        private int[] imgaes = new int[] { R.drawable.red, R.drawable.blue,

                                        R.drawable.green, R.drawable.gray, R.drawable.pink };

        @Override

        protected void onCreate(Bundle savedInstanceState) {

                super.onCreate(savedInstanceState);

                setContentView(R.layout.activity_main);

                imgSwit = imgSwitInit();


                galleryInit();

        }

        private ImageSwitcher imgSwitInit() {


                ImageSwitcher s = (ImageSwitcher) findViewById(R.id.switcher);


                s.setFactory(new ViewFactory() {


                        @Override

                        public View makeView() {

                                ImageView i = new ImageView(MainActivity.this);


                                i.setScaleType(ImageView.ScaleType.FIT_CENTER);


                                i.setLayoutParams(new ImageSwitcher.LayoutParams(

                                                                LayoutParams.MATCH_PARENT,
                                                                LayoutParams.MATCH_PARENT));

                                return i;

                        }
                });

                return s;

        }

        private Gallery galleryInit() {


                Gallery g = (Gallery) findViewById(R.id.gallery);


                g.setAdapter(new ImageAdapter(MainActivity.this, imgaes));


                g.setOnItemSelectedListener(new OnItemSelectedListener() {


                        @Override

                        public void onItemSelected(AdapterView<?> parent, View view,
                                                                                        int position, long id) {

                                imgSwit.setImageResource(imgaes[position]);

                        }

                        @Override

                        public void onNothingSelected(AdapterView<?> parent) {

                        }

                });

                return g;

        }
}


---------------------------------------------------------------------------------------------



ImageAdapter.class


public class ImageAdapter extends BaseAdapter {


        private Context context;


        private int[] imgIDs;


        public ImageAdapter(Context context, int[] ImgIDs) {

                this.context = context;
                this.imgIDs = ImgIDs;
        }

        public int getCount() {

                return imgIDs.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 i = new ImageView(context);


                i.setImageResource(imgIDs[position]);


                i.setAdjustViewBounds(true);


                i.setLayoutParams(new Gallery.LayoutParams

                                                                                (LayoutParams.WRAP_CONTENT, 
                                                                                LayoutParams.WRAP_CONTENT));

                return i;

        }
}


---------------------------------------------------------------------------------------------



activity_main.xml


<LinearLayout xmlns:android=
                                                        "http://schemas.android.com/apk/res/android"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="#000000"
            android:orientation="vertical" >

            <ImageSwitcher

                    android:id="@+id/switcher"
                    android:layout_width="fill_parent"
                    android:layout_height="0dp"
                    android:layout_weight="7" />

            <Gallery

                    android:id="@+id/gallery"
                    android:layout_width="fill_parent"
                    android:layout_height="0dp"
                    android:layout_weight="2"
                    android:gravity="center_vertical"
                    android:spacing="16dp" />

</LinearLayout>





댓글 없음:

댓글 쓰기