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; ????} }