Android 中文 API (35) —— ImageSwitcher

來源:互聯網
上載者:User

前言

  本章內容是android.widget.ImageSwitcher,版本為Android 2.2 r1,翻譯來自"wallace2010",歡迎大家訪問他的部落格:http://blog.csdn.net/springiscoming2008,再次感謝"wallace2010" !歡迎你一起參與Android API 的中文翻譯,聯絡我over140@gmail.com。

 

聲明

  歡迎轉載,但請保留文章原始出處:)

    部落格園:http://www.cnblogs.com/

    Android中文翻譯組:http://www.cnblogs.com/over140/  

 

本文

  一、結構

    public class ImageSwitcher extends ViewSwitcher

 

    java.lang.Object
      android.view.View
        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  文章連結

                   Android ImageSwitcher

                   Image Switcher View | Android Developer Tutorial

 

    4.2  範例程式碼(本文代碼轉載自這裡)

      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) {
   return 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;

 }

 @Override
 public void onItemSelected(AdapterView<?> parent, View view, int position,
   long id) {
  is.setImageResource(mImageIds[position]);

 }

 @Override
 public void onNothingSelected(AdapterView<?> parent) {
 }
}

      xml檔案

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    
    <ImageSwitcher android:id="@+id/switcher"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
    />
    
    <Gallery android:id="@+id/gallery"
        android:background="#55000000"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        
        android:gravity="center_vertical"
        android:spacing="16dp"
    />
</RelativeLayout>

 

結束

   wallace2010居然弄個這麼好看的圖片 - - #  吸引帝......

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.