【发布时间】:2019-01-31 02:49:44
【问题描述】:
我在嵌套滚动视图中有一个 viewpager,它可能包含也可能不包含数据。如果它确实包含数据,则它是一个分页的两列交错网格视图。我希望能够在上面的视图完全隐藏的地方向下滚动足够远,并且可以全屏滚动回收站视图。我遇到的问题是一旦数据加载,我只能滚动一点。看起来嵌套滚动范围被回收器视图中出现的第一个项目的高度扩展了。有什么我遗漏的吗?
Where 当回收器视图中的项目加载但滚动范围仅扩展到第一个项目的高度时,整个视图是可滚动的。一旦回收器加载如下图,我希望能够滚动到选项卡的顶部:
我只是对这里发生的事情感到困惑。
这是相关视图的 xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/comment_layout_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/card_background">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/comment_footer"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/image_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/collection_image"
android:layout_width="match_parent"
android:layout_height="@dimen/item_detail_container_height"
android:background="@color/color_black"
android:scaleType="centerCrop"
android:layout_centerInParent="true"
/>
<Button
style="@style/Button.LightPurple.Inverse"
android:id="@+id/edit_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="10dp"
android:layout_marginLeft="10dp"
android:text="@string/collection_edit"
android:visibility="gone"
/>
</RelativeLayout>
<include layout="@layout/item_detail_multi_nav_layout" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_list_divider" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/collection_title"
android:layout_width="397dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/body_font_padding"
android:gravity="center_vertical"
android:text="@string/live_action_item_name"
android:textColor="@color/on_board_clubs_join_btn"
android:textSize="18sp" />
<TextView
android:id="@+id/collection_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/body_font_padding"
android:autoLink="web"
android:gravity="center_vertical"
android:maxLines="3"
android:text="@string/medal_item_description_placeholder"
android:textColor="@color/color_dark_gray"
android:textSize="14sp" />
<TextView
android:id="@+id/collection_item_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/body_font_padding"
android:gravity="center_vertical"
android:text="@string/item_collection_count"
android:textAppearance="@style/TextAppearance.Large.Black.MontserratSemiBold"
android:textColor="@color/search_follow_button"
android:textSize="12sp" />
<TextView
android:id="@+id/collection_uploadedby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginBottom="@dimen/body_font_padding"
android:layout_marginTop="15dp"
android:gravity="center_vertical"
android:text="@string/item_uploaded_by"
android:textAppearance="@style/TextAppearance.Large.Black.Montserrat" />
<include layout="@layout/action_feed_header_for_uploadedby" />
</LinearLayout>
<android.support.design.widget.TabLayout
android:id="@+id/tab_picker"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center"
android:elevation="0dp"
app:tabPaddingStart="5dp"
app:tabPaddingEnd="5dp"
app:tabMinWidth="0dp"
app:tabIndicatorColor="@color/colorAccent"
app:tabIndicatorHeight="4dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="@color/bpDark_gray"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
app:tabTextColor="@color/bpWhite" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_list_divider" />
<com.gemr.android.widgets.misc.WrapContentViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/card_background"
android:nestedScrollingEnabled="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
<LinearLayout
android:id="@+id/comment_footer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:background="@color/card_background"
android:orientation="vertical">
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/color_list_divider" />
<LinearLayout
android:id="@+id/comment_box_layout"
style="@style/comment_box_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/bpWhite"
android:orientation="horizontal">
<EditText
android:id="@+id/comment_box"
style="@style/comment_box_text"
android:layout_width="0dp"
android:layout_height="@dimen/comment_text_box_height"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:background="@drawable/edit_text_post"
android:gravity="center_vertical"
android:hint="@string/comment_box_hint"
android:inputType="textCapSentences|textMultiLine"
android:maxLines="3"
android:selectAllOnFocus="true" />
<TextView
android:id="@+id/comment_post"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/card_view_selector"
android:gravity="center_vertical"
android:padding="4dp"
android:text="@string/comment_post"
android:textAppearance="@style/TextAppearance.Large.Gray.Montserrat" />
</LinearLayout>
</LinearLayout>
这里是使用寻呼机设置的 RecyclerView:
<FrameLayout
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/card_background">
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipeContainer"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/feed_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:itemCount="3"/>
</android.support.v4.widget.SwipeRefreshLayout>
<include layout="@layout/fab_layout" />
我在这里忽略了一些非常简单的事情吗?
【问题讨论】:
标签: android android-recyclerview android-scrollview android-nestedscrollview