今回は、AndroidでListViewにアニメーションを付与する方法を載せます。
まずはじめに、アニメーション動作を作成しましょう。
アニメーション動作の定義は、res/animフォルダ 下に作成したxmlに行います。
プロジェクト作成時にはanimフォルダが無いと思いますので、マニュアルで作成してください。
animフォルダ内に、item_motion.xmlを作成します。
item_motion.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%"
android:fromYDelta="50%"
android:toXDelta="0"
android:toYDelta="0"
android:duration="700" />
</set>
fromXDelta、toXDeltaで横の動きを、fromXDelta、toXDeltaで縦の動きを定義できます。
durationで、動作時間を設定できます。
次に、このアニメーションをListViewに追加したいと思います。
ArrayAdapterを継承した中で、アニメーションを付けたいlayoutをinflateしたViewオブジェクトに対して、下記のようにAnimation オブジェクトを作成したものをstartAnimationで与えます。
filename
// create a new view
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.message_item, viewGroup, false);
//Animation objectを作成
Animation anim = AnimationUtils.loadAnimation(viewGroup.getContext(), R.anim.item_motion);
v.startAnimation(anim);
以上です。