天天看点

Android 中文 API (35) —— ImageSwitcher

正文

  一、结构

    public class ImageSwitcher extends ViewSwitcher

    java.lang.Object

<a href="http://www.cnblogs.com/over140/archive/2010/09/11/1823806.html">android.view.View</a>

android.view.ViewGroup

android.widget.FrameLayout

android.widget.ViewAnimator

android.widget.ViewSwitcher

android.widget.ImageSwitcher

  二、概述

(译者注:ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊,做相册一绝。)

  三、公共方法

         public void setImageDrawable (Drawable drawable)

         绘制图片

 public void setImageResource (int resid)

   设置图片资源库

 public void setImageURI (Uri uri)

  设置图片地址

  四、补充

    4.1  文章链接

      java文件

public class mainactivity extends Activity implements

  OnItemSelectedListener, ViewFactory {

 private ImageSwitcher is;

 private Gallery gallery;

 private Integer[] mThumbIds = { R.drawable.b, R.drawable.c,

   R.drawable.d, R.drawable.f, R.drawable.g,

   };

 private Integer[] mImageIds = { R.drawable.b, R.drawable.c,

   R.drawable.d, R.drawable.f, R.drawable.g, };

@Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  requestWindowFeature(Window.FEATURE_NO_TITLE);

  setContentView(R.layout.main);

  is = (ImageSwitcher) findViewById(R.id.switcher);

  is.setFactory(this);

  is.setInAnimation(AnimationUtils.loadAnimation(this,

    android.R.anim.fade_in));

  is.setOutAnimation(AnimationUtils.loadAnimation(this,

    android.R.anim.fade_out));

  gallery = (Gallery) findViewById(R.id.gallery);

  gallery.setAdapter(new ImageAdapter(this));

  gallery.setOnItemSelectedListener(this);

 }

 @Override

 public View makeView() {

  ImageView i = new ImageView(this);

  i.setBackgroundColor(0xFF000000);

  i.setScaleType(ImageView.ScaleType.FIT_CENTER);

  i.setLayoutParams(new ImageSwitcher.LayoutParams(

    LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

  return i;

 public class ImageAdapter extends BaseAdapter {

  public ImageAdapter(Context c) {

   mContext = c;

  }

  public int getCount() {

   return mThumbIds.length;

  public Object getItem(int position) {

   return position;

  public long getItemId(int position) {

  public View getView(int position, View convertView, ViewGroup parent) {

   ImageView i = new ImageView(mContext);

   i.setImageResource(mThumbIds[position]);

   i.setAdjustViewBounds(true);

   i.setLayoutParams(new Gallery.LayoutParams(

     LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

   i.setBackgroundResource(R.drawable.e);

   return i;

  private Context mContext;

 public void onItemSelected(AdapterView&lt;?&gt; parent, View view, int position,

   long id) {

  is.setImageResource(mImageIds[position]);

 public void onNothingSelected(AdapterView&lt;?&gt; parent) {

}

      xml文件

&lt;?xml version="1.0" encoding="utf-8"?&gt;

&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:layout_width="match_parent" 

    android:layout_height="match_parent"&gt; 

    &lt;ImageSwitcher android:id="@+id/switcher"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_alignParentTop="true"

        android:layout_alignParentLeft="true"

    /&gt;

    &lt;Gallery android:id="@+id/gallery"

        android:background="#55000000"

        android:layout_height="60dp"

        android:layout_alignParentBottom="true"

        android:gravity="center_vertical"

        android:spacing="16dp"

&lt;/RelativeLayout&gt;

结束

   wallace2010居然弄个这么好看的图片 - - #  吸引帝......

本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582635,如需转载请自行联系原作者

继续阅读