Android/2012.04월 강좌
4일차 gallery2
Bohemian life
2012. 5. 1. 17:02
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Gallery android:id="@+id/gallery1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, GalleryActivity!</string> <string name="app_name">07.Gallery</string> <integer-array name="images"> <item >0x7f020000</item> <item >0x7f020001</item> <item >0x7f020002</item> <item >0x7f020003</item> </integer-array> </resources>
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.gusfree.gallery; public final class R { public static final class array { public static final int images=0x7f050000; } public static final class attr { } public static final class drawable { public static final int a=0x7f020000; public static final int b=0x7f020001; public static final int c=0x7f020002; public static final int d=0x7f020003; public static final int ic_launcher=0x7f020004; } public static final class id { public static final int gallery1=0x7f060000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }
package com.gusfree.gallery; import android.app.Activity; import android.content.res.Resources; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; import android.widget.LinearLayout; public class GalleryActivity extends Activity { Gallery gallery=null; int[] datas; LinearLayout layout; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gallery=(Gallery)this.findViewById(R.id.gallery1); layout=(LinearLayout)findViewById(R.id.layout); Resources res=this.getResources(); // 리소스 다가져와라 datas=res.getIntArray(R.array.images); // 인트배열 가져와라 gallery.setAdapter(new MyAdapter()); //갤러리에 이벤트 리스너 셋팅 gallery.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) { //내가 보고 있는 이미지를 배경을 깔기 layout.setBackgroundResource(datas[position]); } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); } //innerClass class MyAdapter extends BaseAdapter{ @Override public int getCount() { return datas.length; //4 } @Override public Object getItem(int arg0) { return arg0; } @Override public long getItemId(int arg0) { return arg0; } @Override //getCount()의 리턴값만큼 실행됩니다. //position 0,1,2,3 public View getView(int position, View v, ViewGroup arg2) { //뷰를 만들어서 AdapterView 에게 넘겨주는 역활. // 갤러리에서 일하는 adapter 직원이 그림4장을 받아서 //그림을 액자에 한장씩 끼워넣고 갤러리 벽에 거는 모습 int imageResId = datas[position];//그림 ImageView imageView= new ImageView(GalleryActivity.this);//액자 imageView.setImageResource(imageResId);//액자에 그림 넣기 imageView.setPadding(20, 20, 20, 20);//액자에 여백 주기 return imageView;//갤러리 벽에 액자 걸기 } } }