BaseAdapter + Gallery
galleryAdapter.java
package?com.example.administrator.gallery;
import?android.content.Context;
import?android.view.View;
import?android.view.ViewGroup;
import?android.widget.BaseAdapter;
import?android.widget.Gallery;
import?android.widget.ImageView;
/**
?*?Created?by?Administrator?on?2015/7/23.
?*/
public?class?galleryAdapter?extends?BaseAdapter{
????private?int[]?resId;
????private?Context?mContext;
????public?galleryAdapter(int[]?resId,Context?mContext)?{
????????this.resId?=?resId;
????????this.mContext?=?mContext;
????}
????@Override
????public?int?getCount()?{
//????????return?resId.length;
????????return?Integer.MAX_VALUE;?//讓gallery循環(huán),所以設(shè)置為最大數(shù)
????}
????@Override
????public?Object?getItem(int?position)?{
????????return?resId[position];
????}
????@Override
????public?long?getItemId(int?position)?{
????????return?position;
????}
????@Override
????public?View?getView(int?position,?View?convertView,?ViewGroup?parent)?{
????????ImageView?img?=?new?ImageView(mContext);
//????????img.setBackgroundResource(resId[position]);
????????img.setBackgroundResource(resId[position?%?resId.length]);?//循環(huán)
????????//設(shè)置縮放
//????????img.setLayoutParams(new?Gallery.LayoutParams(300,400));
//????????img.setScaleType(ImageView.ScaleType.FIT_XY);
????????return?img;
????}
}MainActivity.java
package?com.example.administrator.gallery;
import?android.support.v7.app.ActionBarActivity;
import?android.os.Bundle;
import?android.view.Menu;
import?android.view.MenuItem;
import?android.view.View;
import?android.view.animation.Animation;
import?android.view.animation.AnimationUtils;
import?android.widget.AdapterView;
import?android.widget.Gallery;
import?android.widget.ImageSwitcher;
import?android.widget.ImageView;
import?android.widget.ViewSwitcher;
public?class?MainActivity?extends?ActionBarActivity?implements?ViewSwitcher.ViewFactory{
????private?Gallery?gallery;
????private?ImageSwitcher?switcher;
????private?int[]?resId?=?new?int[]{R.drawable.item1,R.drawable.item2,R.drawable.item3,R.drawable.item4,R.drawable.item5,R.drawable.item6,R.drawable.item7,R.drawable.item8,R.drawable.item9,R.drawable.item10,R.drawable.item11,R.drawable.item12};
????@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.activity_main);
????????gallery?=?(Gallery)findViewById(R.id.gallery);
????????switcher?=?(ImageSwitcher)findViewById(R.id.switcher);
????????galleryAdapter?adapter?=?new?galleryAdapter(resId,this);
????????gallery.setAdapter(adapter);
????????gallery.setOnItemSelectedListener(new?Gallery.OnItemSelectedListener()?{
????????????@Override
????????????public?void?onItemSelected(AdapterView?parent,?View?view,?int?position,?long?id)?{
//????????????????img.setBackgroundResource(resId[position?%?resId.length]);?//循環(huán)
????????????????switcher.setBackgroundResource(resId[position?%?resId.length]);
????????????}
????????????@Override
????????????public?void?onNothingSelected(AdapterView?parent)?{
????????????}
????????});
????????//ImageSwitcher加載工廠
????????switcher.setFactory(this);
????????//動(dòng)畫效果
????????switcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
????????switcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
????}
????@Override
????public?View?makeView()?{
????????ImageView?img?=?new?ImageView(this);
????????img.setScaleType(ImageView.ScaleType.FIT_CENTER);
????????return?img;
????}
} 




