Android ImageShow的使用
2010-05-18 16:34:00 来源:WEB开发网i.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
return i;
}
这个方法为ImageSwitcher返回了一个View。ImageSwitcher调用过程是这样的,首先要有一个Factory为它提供一个 View,然后ImageSwitcher就可以初始化各种资源了。
mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);
mSwitcher.setFactory(this);
mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
注意在使用一个ImageSwitcher之前,一定要调用setFactory方法,要不setImageResource这个方法会报空指针异常。 ImageSwitcher的切换效果就是由上面最后两句实现的,这里的setInAnimation是资源被读入到这个ImageSwitcher的时候动画,setOutAnimation是资源文件从这个ImageSwitcher里消失的时候要实现的动画效果,这里所有的动画都是从 android.R系统文件里读取的。
ImageSwitcher就说到这里,TextViewSwitcher和ImageSwitcher用法大同小异,下面介绍下怎样自己写 Animation。
在view包中的Animation2这个类使用了一些自己写的Animation,这些Animation也是一些xml文件,下面便是一例:
< set xmlns:android="http://schemas.android.com/apk/res/android" >
< translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="300"/ >
< alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="300" / >
< /set >
Translate 这个标签里说明字体相对于控件的高度由原来高度的100%变换到0%。Alpha是设定转换时候的透明位,如果从ImageSwitcher里消失的话透明位就从1.0到0.0,如果是进入时的动画,那么透明位就从0.0变换到1.0。这个Animation是竖向的,同样fromXDelta和 toXDelta这个属性可以进行横向动画的设定。大家可以写些例子来看看这些Animation的各种效果。
更多精彩
赞助商链接