如何在可见时显示android中listview上的转换效果

时间:2015-05-19 05:06:37

标签: android listview android-animation

  

我在android中使用listview。抓取后我可以看到它   来自服务器的数据。我需要知道如何显示下拉开口   当我使ListView可见并关闭效果时效果。

1 个答案:

答案 0 :(得分:1)

  

要做的第一件事是定义动画,然后将它们放入   您的res/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行。在ListView的适配器中,添加以下代码:

 private int lastPosition = -1;

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

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

    return view;
}