最近,在做一個程式要實現切換到下一項時要有動畫的效果。使用ViewFlipper 、TextSwitcher都沒有辦法達到效果,無意中發現TextView中有一個setAnimation的函數。調試了一下效果還不錯,程式也很簡單。
public void UpdateViewContent(){ TextView txtview = (TextView)findViewById(R.id.content_view); txtview.setText(MyGetNextText()); txtview.setAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));}
push_left_in.xml的內容如下:
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="100%" android:duration="300"/><alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="300" /></set>
加上手勢或按鈕調用UpdateViewcontent()就可以實現切換動畫。
程式簡單,效果還不錯。比起ViewFlipper和TextSwitch的用法簡單了許多。
另外,ImageView、ListView中也有setAnimation的函數,也可以使用上面的方法來實現簡單的切換動畫效果。
該實列中最關鍵的代碼是:
txtview.setAnimation(AnimationUtils.loadAnimation(this,R.anim.push_left_in));