이미지 사진첩(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>
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
"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>
댓글 없음:
댓글 쓰기