原来有一张图片在一个imageview上,然后点击一个按钮,这个图片就换另外一张图片,这个过程中,旧图片渐渐消失,新图片也渐渐显示,由小放大的效果。谢谢。难道是用动画效果|?

解决方案 »

  1.   

    参考:
    http://www.eoeandroid.com/forum.php?mod=viewthread&tid=68369&page=1
      

  2.   

    package com.alex.animationimageview;import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageSwitcher;
    import android.widget.ImageView;
    import android.widget.Gallery.LayoutParams;
    import android.widget.LinearLayout;
    import android.widget.ViewSwitcher.ViewFactory;public class AnimationImageView extends Activity implements ViewFactory {
        private ImageSwitcher mSwitcher;
        private static int i = 0;    /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            LinearLayout layout = new LinearLayout(this);
            mSwitcher = new ImageSwitcher(this);
            layout.addView(mSwitcher);
            setContentView(layout);
            mSwitcher.setFactory(this);
            mSwitcher.setImageResource(android.R.drawable.ic_menu_more);
            mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_in));
            mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,
                android.R.anim.fade_out));
            mSwitcher.setOnClickListener(new OnClickListener()
            {
              @Override
              public void onClick(View v)
              {
                
                mSwitcher.setImageResource((i++)%2 == 0 ? android.R.drawable.ic_menu_month
                    : android.R.drawable.ic_menu_more);
              }
            });
        }    public View makeView() {
          ImageView i = new ImageView(this);
          i.setBackgroundColor(0xFF000000);
          i.setScaleType(ImageView.ScaleType.FIT_CENTER);
          i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,
                  LayoutParams.WRAP_CONTENT));
          return i;
      }
    }做了一个,楼主试试喃。