zoukankan      html  css  js  c++  java
  • Android 中文 API (35) —— ImageSwitcher


    前言

      本章内容是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

      二、概述

        

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

      三、公共方法

             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居然弄个这么好看的图片 - - #  吸引帝......

     
  • 相关阅读:
    echarts-五分钟的教程
    vue中的路由
    2x or 3X的图
    background-size cover和contain的用法详解
    吃转基因有害?科普这么多年咋还有人信!
    基于UDP协议的Socket通信
    基于TCP协议Socket通信
    echarts地图
    Ehcache缓存实例
    Tomcat配置绝对路径
  • 原文地址:https://www.cnblogs.com/over140/p/1874932.html
Copyright © 2011-2022 走看看