ListView 具有 addFooterView 方法,该方法可用于显示加载消息。但是 GridView 没有这个方法。那么,如何向 GridView 添加页脚视图,如 Google Play 中所示?
问问题
3788 次
5 回答
6
Android BucketListAdapter
这是一个桶列表适配器的实现,类似于您在 Google Play 应用程序中看到的。它具有类似于网格的列表元素布局,其优点是您仍然可以使用列表页眉和页脚——这是标准 GridView 无法实现的。
于 2012-09-04T09:24:11.650 回答
0
不,抱歉,GridView 不提供这种功能。
如果您想要“单击此处获取更多信息”条目,我会在到达当前网格数据的末尾后延迟加载数据。您可以查看 CommonsWare 的EndlessAdapter,并尝试将其适配为 GridView。
于 2012-07-15T23:56:28.033 回答
0
您可以尝试使用相对布局,放置网格视图并使用属性制作线性布局,android:layout_alignParentBottom="true"
它会将您想要的任何内容放在网格视图下方,这就是我认为您想要的。
于 2012-07-15T23:57:30.913 回答
0
可以使用这个,使用 OnScrollListener 来监控滚动位置,当滚动到最后一项时,可以控制加载视图的可见性。
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (mOnScrollListener != null) {
mOnScrollListener.onScroll(view, firstVisibleItem,
visibleItemCount, totalItemCount);
}
// The count of footer view will be add to visibleItemCount also are
// added to totalItemCount
if (visibleItemCount == totalItemCount) {
// If all the item can not fill screen, we should make the
// footer view invisible.
} else if (!mIsLoading
&& (firstVisibleItem + visibleItemCount >= totalItemCount)
&& mCurrentScrollState != SCROLL_STATE_IDLE) {
mIsLoading = true;
if (mOnLoadMoreListener != null) {
mOnLoadMoreListener.onLoadMore();
}
}
}
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fillViewport="true" >
<com.baidu.hao123.module.video.view.LoadMoreGridView
android:id="@+id/gv_movie_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="@null"
android:fitsSystemWindows="true"
android:horizontalSpacing="10dip"
android:listSelector="@android:color/transparent"
android:numColumns="3"
android:paddingLeft="13dip"
android:paddingRight="13dip"
android:paddingTop="10dip"
android:scrollbars="none"
android:verticalSpacing="12dip" />
</LinearLayout>
<LinearLayout
android:id="@+id/auto_load_view"
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:visibility="gone"
android:paddingBottom="10dip"
android:gravity="center"
android:orientation="horizontal" >
<ProgressBar
android:id="@+id/loadingBar"
android:layout_width="23dip"
android:layout_height="23dip"
android:layout_marginRight="10dip"
android:indeterminateDrawable="@drawable/progress_small" />
<TextView
android:id="@+id/loadingText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:text="@string/loading"
android:textColor="@color/color_ff555555"
android:textSize="@dimen/fontSize_middle" />
</LinearLayout>
</LinearLayout>
于 2014-10-14T07:16:33.687 回答
0
您可以将无限滚动侦听器用作 gridview 的滚动侦听器。通过使用滚动监听器,您可以获得当前位置。当结束时显示自定义加载视图,当从网络加载完成(AsyncTask 或 Loader 完成)时,您可以隐藏加载视图。
于 2012-07-16T02:53:04.850 回答