public
class
Gallery1
extends
Activity
{
@Override
public
void
onCreate(Bundle savedInstanceState)
{
super
.onCreate(savedInstanceState);
setContentView(R.layout.gallery_1);
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(
new
ImageAdapter(
this
));
g.setOnItemClickListener(
new
OnItemClickListener()
{
public
void
onItemClick(AdapterView parent, View v,
int
position,
long
id)
{
Toast.makeText(Gallery1.
this
,
""
+ position, Toast.LENGTH_SHORT)
.show();
}
});
registerForContextMenu(g);
}
@Override
public
void
onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo)
{
menu.add(R.string.gallery_2_text);
}
@Override
public
boolean
onContextItemSelected(MenuItem item)
{
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
Toast.makeText(
this
,
"Longpress: "
+ info.position, Toast.LENGTH_SHORT)
.show();
return
true
;
}
public
class
ImageAdapter
extends
BaseAdapter
{
int
mGalleryItemBackground;
public
ImageAdapter(Context c)
{
mContext = c;
TypedArray a = obtainStyledAttributes(R.styleable.Gallery1);
mGalleryItem a.getResourceId(
R.styleable.Gallery1_android_galleryItemBackground,
0
);
a.recycle();
}
public
int
getCount()
{
return
mImageIds.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(mContext);
i.setImageResource(mImageIds[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setLayoutParams(
new
Gallery.LayoutParams(
136
,
88
));
i.setBackgroundResource(mGalleryItemBackground);
return
i;
}
private
Context mContext;
private
Integer[] mImageIds =
{ R.drawable.gallery_photo_1, R.drawable.gallery_photo_2,
R.drawable.gallery_photo_3, R.drawable.gallery_photo_4,
R.drawable.gallery_photo_5, R.drawable.gallery_photo_6,
R.drawable.gallery_photo_7, R.drawable.gallery_photo_8 };
}
}