ImageAdapter适配器类的代码:
package com.example.glallery; import android.content.Context; import android.view.ContextMenu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Gallery; import android.widget.ImageView; /** * Created by 联想 on 2016/7/5. */ public class ImageAdapter extends BaseAdapter{ private int[]res; private Context context; public ImageAdapter(int[]res,Context context){ this.res = res; this.context = context; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public Object getItem(int i) { return res[i]; } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ImageView image = new ImageView(context); image.setBackgroundResource(res[i%res.length]); image.setLayoutParams(new Gallery.LayoutParams(200,150)); image.setScaleType(ImageView.ScaleType.FIT_XY); return image; } }MainActivity代码:
package com.example.glallery; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; 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 AppCompatActivity implements AdapterView.OnItemSelectedListener, ViewSwitcher.ViewFactory { private Gallery mGallery; private ImageAdapter iA; private ImageSwitcher imageSwitcher; //数据源 private int[]res = { R.mipmap.item1, R.mipmap.item2, R.mipmap.item3, R.mipmap.item4, R.mipmap.item5, R.mipmap.item6, R.mipmap.item7, R.mipmap.item8, R.mipmap.item9, R.mipmap.item10, R.mipmap.item11, R.mipmap.item12 }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mGallery = (Gallery) findViewById(R.id.gallery); iA = new ImageAdapter(res,this); mGallery.setAdapter(iA); mGallery.setOnItemSelectedListener(this); imageSwitcher = (ImageSwitcher) findViewById(R.id.is); imageSwitcher.setFactory(this); imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in)); imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out)); } @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { // image.setBackgroundResource(res[i%res.length]); imageSwitcher.setBackgroundResource(res[i% res.length]); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } @Override public View makeView() { ImageView image = new ImageView(this); image.setScaleType(ImageView.ScaleType.FIT_CENTER); return image; } }
activity_main的布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context="com.example.glallery.MainActivity"> <Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content"> </Gallery> <ImageSwitcher android:id="@+id/is" android:layout_width="match_parent" android:layout_height="wrap_content"> </ImageSwitcher> </LinearLayout>