<transition xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/image_expand" /> <item android:drawable="@drawable/image_collapse" /> </transition>
Resources res = getResources(); TransitionDrawable transition = (TransitionDrawable)res.getDrawable(R.drawable.expand_collapse); ImageView image = (ImageView) findViewById(R.id.toggle_image); image.setImageDrawable(transition); transition.startTransition(1000);
TransitionDrawable mTransitionDrawable = new TransitionDrawable(new Drawable[]{ view.getDrawable(), new BitmapDrawable(bitmap) }); mTransitionDrawable.setCrossFadeEnabled(true); mTransitionDrawable.startTransition(500); view.setImageDrawable(mTransitionDrawable);
Drawable oldDrawable = view.getDrawable(); BitmapDrawable oldBitmapDrawable = null; TransitionDrawable oldTransitionDrawable=null; if(oldDrawable instanceof TransitionDrawable){ oldTransitionDrawable = (TransitionDrawable)oldDrawable; oldBitmapDrawable =(BitmapDrawable)oldTransitionDrawable.findDrawableByLayerId(oldTransitionDrawable.getId(1)); //oldBitmapDrawable =(BitmapDrawable) (oldTransitionDrawable).getDrawable(1); } else if(oldDrawable instanceof BitmapDrawable){ oldBitmapDrawable = (BitmapDrawable) oldDrawable; } else{ Log.e(TAG, "Some Error in setImageSourceAndDoAni"); } if(oldTransitionDrawable==null){ oldTransitionDrawable = new TransitionDrawable(new Drawable[]{ oldBitmapDrawable, new BitmapDrawable(bitmap) }); //----------very important!!! oldTransitionDrawable.setId(0, 0); oldTransitionDrawable.setId(1, 1); //---------- oldTransitionDrawable.setCrossFadeEnabled(true); view.setImageDrawable(oldTransitionDrawable); } else{ oldTransitionDrawable.setDrawableByLayerId(oldTransitionDrawable.getId(0), oldBitmapDrawable); oldTransitionDrawable.setDrawableByLayerId(oldTransitionDrawable.getId(1), new BitmapDrawable(bitmap) ); } oldTransitionDrawable.startTransition(800);
oldTransitionDrawable.setId(0, 0); oldTransitionDrawable.setId(1, 1);
用TransitionDrawable实现ImageView渐隐渐显效果,并解决OutOfMemory问题,布布扣,bubuko.com
用TransitionDrawable实现ImageView渐隐渐显效果,并解决OutOfMemory问题
原文:http://blog.csdn.net/heqiangflytosky/article/details/20145939