最近,在做一个程序要实现切换到下一项时要有动画的效果。使用ViewFlipper 、TextSwitcher都没有办法达到效果,无意中发现TextView中有一个setAnimation的函数。调试了一个效果还不错,程序也很简单。
1.
public
void
UpdateViewContent()
2.
{
3.
TextView txtview = (TextView)findViewById(R.id.content_view);
4.
txtview.setText(MyGetNextText());
5.
txtview.setAnimation(AnimationUtils.loadAnimation(
this
, R.anim.push_left_in));
6.
}
push_left_in.xml的内容如下:
1.
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
2.
<
set
xmlns:android
=
"http://schemas.android.com/apk/res/android"
>
3.
<
translate
android:fromXDelta
=
"0"
android:toXDelta
=
"100%"
android:duration
=
"300"
/>
4.
<
alpha
android:fromAlpha
=
"1.0"
android:toAlpha
=
"0.0"
android:duration
=
"300"
/>
5.
</
set
>
加上手势或按钮调用UpdateViewcontent()就可以实现切换动画。
程序简单,效果还不错。比起ViewFlipper和TextSwitch的用法简单了许多。
另外,ImageView中也有setAnimation的函数,也可以使用上面的方法来实现简单的切换动画效果。