انیمیشن لیست ویو Animate ListView

سوال : یک لیست ویو سفارشی برای نمایش اخرین اخبار سایت درست کرده ام . الان برای زیبایی بیشتر لیست ویو میخوام هنگامی که یه ایتم به لیست ویو اضافه میشه همراه افکت یا انیمیشن باشد . لطفا راهنمایی بفرماید ؟

پاسخ : در ادامه نمونه ای از انیمیشن ساده ای را میتوانید مشاهده کنید :

۱- ابتدا وارد مسیر  res/anim/ شوید ، در صورتی که دایرکتوری anim وجود ندارد . این دایرکتوری را ایجاد کنید و دو عدد فایل زیر را ایجاد کنید:

up_from_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="@android:anim/decelerate_interpolator">
    <translate
        android:fromXDelta="0%" android:toXDelta="0%"
        android:fromYDelta="100%" android:toYDelta="0%"
        android:duration="400" />
</set>

down_from_top.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="@android:anim/decelerate_interpolator">
    <translate
        android:fromXDelta="0%" android:toXDelta="0%"
        android:fromYDelta="-100%" android:toYDelta="0%"
        android:duration="400" />
</set>

ListView.java

private int lastPosition = -1;

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    //Load your view, populate it, etc...
    View view = getListView();

    Animation animation = AnimationUtils.loadAnimation(getContext(), (position > lastPosition) ? R.anim.up_from_bottom : R.anim.down_from_top);
    view.startAnimation(animation);
    lastPosition = position;

    return view;
}

 


همینک دیدگاه خود را برای ما بنویسید!