我正在尝试将现有的iPhone应用程序移植到android。我希望有一个按钮滚动到GridView底部的视图中,以使用户能够从服务器加载更多数据。目前,我的解决方案只是修复了屏幕底部的按钮,而不是将其滚动到视图中。
这是我的布局代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:columnWidth="70dp"
android:numColumns="auto_fit"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:gravity="center"
android:background="#000000"
/>
<Button
android:id="@+id/load_more"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Load More"
/>
</LinearLayout>
修复屏幕底部的按钮无效,因为我打算在底部放置广告。
任何人都可以从概念上解释如何获取更多加载按钮以滚动到视图中,或者指向一些示例代码,或者告诉我为什么这不是Android的惯用语以及它用于加载更多数据的其他UI约定一个GridView?
谢谢!
答案 0 :(得分:0)
您可以在主LinearLayout中放置ScrollView。但是,ScrollView只能有一个直接子项,所以你需要在其中放入另一个LinearLayout,然后包含你的GridView和Button。
答案 1 :(得分:0)
我在滚动GridView时遇到了类似的问题,刷新基础数据后,注意到scoll没有重置到开头。我用以下代码片段
解决了这个问题gvKeys.setSelection(0);
我猜测,如果您知道网格中的项目数量 N ,则以下内容将起作用:
gvKeys.setSelection(N);