列表视图顶部的叠加更新按钮?

时间:2015-06-15 16:03:46

标签: java android listview button overlay

我正在制作一个包含listview的android应用程序,每30秒更新一次。如果有新数据,我想要一个按钮出现在我可以更新Feed的位置,类似于facebook应用程序。我怎么能做到这一点?有没有办法在不在列表视图中滚动时叠加显示在屏幕顶部的列表视图顶部的按钮?

这是我的listview xml:

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="fill_parent"
        android:paddingLeft="3dp"
        android:paddingRight="3dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/header"
        android:divider="@android:color/transparent"
        android:dividerHeight="10dp"
        />

</LinearLayout>

<Button
    android:id="@+id/update_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentBottom="true"
    android:text="Button" />

1 个答案:

答案 0 :(得分:0)

尝试使用setOnScrollListener并实施onScrollStateChanged

setOnScrollListener(new OnScrollListener() {
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        // TODO Auto-generated method stub
        //make your button invisible
        button.setVisible(false);
    }

    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
            //make your button visible.
             button.setVisible(true);

        }
    }
});

可以看到here覆盖视图。