我有以下xml,其下面有Gridview和framelayout。 我的要求是如果我向上滚动屏幕整个屏幕应该滚动,但对我来说只有listview滚动
以下是xml文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:focusableInTouchMode="true"
android:paddingBottom="@dimen/activity_vertical_margin">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/time_card_header"
android:id="@+id/scrollView">
<GridView
android:id="@+id/timecard_grid"
android:layout_width="match_parent"
android:layout_height="130dp"
android:layout_margin="3dp"
android:fitsSystemWindows="true"
android:gravity="center_horizontal"
android:horizontalSpacing="1dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp" />
</ScrollView>
<FrameLayout
android:id="@+id/timecard_reports"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:layout_below="@+id/scrollView"/>
</RelativeLayout
答案 0 :(得分:0)
实际上GridView和Listview已经滚动了。无需将上述小部件放在scrollview中。首先,删除scrollview。我认为你需要将FrameLayout固定在底部并在上面显示gridview。首先在线性布局中使用FrameLayout,其中align_parentbottom为true。之后请将gridview放在FrameLayout上方。这将解决问题。
答案 1 :(得分:0)
将linearlayout放在滚动视图下方,然后将gridview放入。
<scrollview>
<linearlayout >
<gridview />
</linearlayout >
</scrollview>
很抱歉,我正在通过手机提供ans,但概念是一样的。
答案 2 :(得分:0)
您可以将RecyclerView与GridLayoutManager一起使用,并将recyclerView的nestedScrollingEnabled设置为false。 而不是ScrollView使用NestedScrollView作为RecyclerView的父级:
private void setUpRecyclerView(View view) {
recyclerView = view.findViewById(id.repliesList);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),numberOfColumns));
}
和xml文件:
<android.support.v4.widget.NestedScrollView
android:id="@+id/nestedScroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:focusableInTouchMode="true"
android:paddingBottom="@dimen/activity_vertical_margin">
<RecyclerView
android:id="@+id/timecard_grid"
android:layout_width="match_parent"
android:layout_height="130dp"
android:layout_margin="3dp"
android:fitsSystemWindows="true"
android:gravity="center_horizontal"
android:horizontalSpacing="1dp"
android:numColumns="3"
android:stretchMode="columnWidth"
android:verticalSpacing="1dp" />
<FrameLayout
android:id="@+id/timecard_reports"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="@color/white"
android:layout_below="@+id/scrollView"/>
</RelativeLayout
</android.support.v4.widget.NestedScrollView>