运行效果
C#实现usingAndroid.App;usingAndroid.OS;usingAndroid.Widget;namespaceImageDemo
{
[Activity(Label="@string/applicationName", MainLauncher =true, Icon ="@drawable/icon")]publicclassMainActivity : Activity
{PRivateGallery _gallery;privateImageView _selectedImg;privatereadonlyint[] _imageIds ={
Resource.Drawable.test1,
Resource.Drawable.test2,
Resource.Drawable.test3,
Resource.Drawable.test4,
Resource.Drawable.test5,
Resource.Drawable.test6,
Resource.Drawable.test7,
Resource.Drawable.test8
};protectedoverridevoidOnCreate(Bundle bundle)
{base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
_gallery= FindViewById<Gallery>(Resource.Id.gallery);
_selectedImg= FindViewById<ImageView>(Resource.Id.currentImg);
_gallery.Adapter=newImageAdapter(this, _imageIds);
_gallery.ItemSelected+=Gallery_ItemSelected;
}privatevoidGallery_ItemSelected(objectsender, AdapterView.ItemSelectedEventArgs e)
{
_selectedImg.SetImageResource(_imageIds[e.Position]);
}
}publicclassImageAdapter : BaseAdapter
{privatereadonlyContext _context;privatereadonlyint[] _imageIds;publicImageAdapter(Context context,int[]imageIds)
{
_context=context;
_imageIds=imageIds;
}publicoverrideObject GetItem(intposition)
{returnnull;
}publicoverridelongGetItemId(intposition)
{return0;
}publicoverrideintCount
{get{return_imageIds.Length; }
}publicoverrideView GetView(intposition, View convertView, ViewGroup parent)
{varimage =newImageView(_context);
image.SetImageResource(_imageIds[position]);
image.LayoutParameters=newGallery.LayoutParams(150,100);
image.SetScaleType(ImageView.ScaleType.FitXy);returnimage;
}
}
}
java实现packagecom.example.halower.gallerydemo;importandroid.content.Context;importandroid.os.Bundle;importandroid.support.v7.app.ActionBarActivity;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.BaseAdapter;importandroid.widget.Gallery;importandroid.widget.ImageView;importstaticandroid.widget.Gallery.LayoutParams;publicclassMainActivityextendsActionBarActivity {privateint[] imageIds ={
R.drawable.test1,
R.drawable.test2,
R.drawable.test3,
R.drawable.test4,
R.drawable.test5,
R.drawable.test6,
R.drawable.test7,
R.drawable.test8
};
Gallery gallery;
ImageView currentView;
@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gallery=(Gallery) findViewById(R.id.gallery);
ImageAdapter adapter=newImageAdapter(this,imageIds);
currentView=(ImageView)findViewById(R.id.currentImg);
gallery.setAdapter(adapter);
gallery.setOnItemSelectedListener(newAdapterView.OnItemSelectedListener(){
@OverridepublicvoidonItemSelected(AdapterView<?> parent, View view,intposition,longid) {
currentView.setImageResource(imageIds[position]);
}
@OverridepublicvoidonNothingSelected(AdapterView<?>parent) {
}
});
}
}classImageAdapterextendsBaseAdapter
{
Context _context;int[] imageIds;publicImageAdapter(Context context,int[] imageIds){
_context=context;this.imageIds=imageIds;
}
@OverridepublicintgetCount() {returnimageIds.length;
}
@OverridepublicObject getItem(intposition) {returnnull;
}
@OverridepubliclonggetItemId(intposition) {return0;
}
@OverridepublicView getView(intposition, View convertView, ViewGroup parent) {
ImageView imageView=newImageView(_context);
imageView.setImageResource(imageIds[position]);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setLayoutParams(newLayoutParams(70,100));returnimageView;
}
}
layout<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"tools:context=".MainActivity"><ImageViewandroid:layout_width="320dp"android:layout_height="320dp"android:id="@+id/currentImg"android:layout_centerHorizontal="true"/><Galleryandroid:layout_width="match_parent"android:layout_height="wrap_content"android:unselectedAlpha="0.6"android:spacing="2pt"android:layout_below="@+id/currentImg"android:id="@+id/gallery"/></RelativeLayout>