天天看點

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,如需轉載請自行聯系原作者

繼續閱讀