具有特定行为的ListView

时间:2015-07-31 15:19:36

标签: android listview android-listview

我有一个ListView,我必须为它实现特定的行为。

当用户向上滚动ListView时,它处于初始位置:

  1. ListView应该向下移动一点;
  2. ProgressBar应该出现;
  3. 下图显示了我想要实现的结果:

    enter image description here

    有任何建议如何做到这一点?感谢。

3 个答案:

答案 0 :(得分:1)

“那里有library

another library

我相信这个图书馆可以满足您的需求。

enter image description here

我从this question

获得了这张照片

有很多图书馆正在执行类似这样的视频https://www.youtube.com/watch?v=YOYtPF-4RPg

答案 1 :(得分:1)

您可以按@Cobbles答案中的建议使用SwipeRefreshLayout或其他库。

这不是您要查找的视图,而是相同的功能。滑动刷新布局的优点是它是android支持库的一部分,用户可以看到它。

答案 2 :(得分:1)

使用support-v4 https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html

中的SwipeRefreshLayout

将ListView包装在xml:

中的SwipeRefreshLayout中
<android.support.v4.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swipe"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v4.widget.SwipeRefreshLayout>

并在onCreate()

中设置听众
SwipeRefreshLayout swipe = (SwipeRefreshLayout) findViewById(R.id.swipe);
swipe.setOnRefreshListener(this);

并实施它

@Override 
public void onRefresh() {
    new Handler().postDelayed(new Runnable() {
        @Override public void run() {
            swipe.setRefreshing(false);
        }
    }, 5000);
}