プロジェクトで Staggeredgridview を使用しています。
ここから StaggeredGridView ライブラリとデモをダウンロードしました: https://github.com/maurycyw/StaggeredGridViewDemo https://github.com/maurycyw/StaggeredGridView
そのグリッドビュー全体に対して PullToRefresh が必要です
皆さんありがとう
プロジェクトで Staggeredgridview を使用しています。
ここから StaggeredGridView ライブラリとデモをダウンロードしました: https://github.com/maurycyw/StaggeredGridViewDemo https://github.com/maurycyw/StaggeredGridView
そのグリッドビュー全体に対して PullToRefresh が必要です
皆さんありがとう
StaggeredGridView
Chris Banes
Android-PullToRefresh のサポートが追加されました。の Actionbar-PullToRefreshもサポートしActionBarSherlock
ます。
グリッドビューを SwipeRefreshLyout で囲みます。
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.widget.SwipeRefreshLayout>
onViewCreated に gridview の onScroll リスナーを追加します。リフレッシュを有効にする条件を設定します。
swipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.swipeLayout);
swipeRefreshLayout.setColorSchemeResources(R.color.theme_color);
swipeRefreshLayout.setOnRefreshListener(this);
gridView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
}
@Override
public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int dist = gridView.getDistanceToTop();
if (dist == 0)
swipeRefreshLayout.setEnabled(true);
else {
swipeRefreshLayout.setEnabled(false);
}
}
});
次に onRefresh 関数を追加します。
@Override
public void onRefresh() {
if (!swipeRefreshLayout.isRefreshing()) {
swipeRefreshLayout.setRefreshing(true);
}
//add functionality then set refresh to false
swipeRefreshLayout.setRefreshing(false);
}