我有一個Android活動,其中包含的數據一本書描述一個RelativeLayout的(因爲你可以計算出:標題,圖片和摘要,作者...)機器人滾動全RelativeLayout的,而不是隻RecyclerView
在佈局的底部,我已經設置了RecyclerView來顯示用戶的評論(縮略圖,暱稱,日期和評論)。
一切工作正常,但是當我有很多評論時,我只能滾動RecyclerView,而不是整個RelativeLayout。在簡化的方式:這是我的佈局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_book_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#EEEEEE">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/bookDetailThumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
fresco:placeholderImage="@drawable/not_available_thumbnail"
fresco:failureImage="@drawable/not_available_thumbnail"
fresco:actualImageScaleType="centerCrop"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/bookDetailTitle"
android:textAlignment="center"
android:textSize="40dp"
android:layout_below="@id/bookDetailThumbnail"
android:text="titulo"/>
<TextView
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/bookDetailTitle"
android:id="@+id/writtenByFieldName"
android:text="@string/written_by"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/summaryText"
android:layout_below="@id/writtenByFieldName"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/summaryText"
android:id="@+id/publishedOnFieldName"
android:text="@string/published_on"/>
<TextView
android:layout_width="96dp"
android:layout_height="wrap_content"
android:layout_below="@id/publishedOnFieldName"
android:id="@+id/ratingFieldName"
android:text="@string/rating_of_users"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bookDetailVersion"
android:layout_below="@id/ratingFieldName"
android:text="version"/>
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/loading_icon"
android:id="@+id/comments_loading_icon"
android:layout_below="@id/bookDetailVersion"
android:indeterminate="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/comments_loading_icon"
android:id="@+id/loading_comments_text"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/loading_comments_text"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/commentsList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/bookDetailVersion"
android:visibility="invisible"/>
起初我以爲我應該使用滾動型,但因爲它是谷歌官方文檔中提及ScrollView:一個RecyclerView或ListView決不添加到滾動視圖。這樣做會導致較差的用戶界面性能和較差的用戶體驗
那麼,如何在滾動用戶評論時滾動完整的相對佈局?
設置
setNestedScrollingEnabled()
財產RecyclerView
像記住,滾動型和NestedScrollView必須只有一個孩子,所以你可以使用的ViewGroup(例如RelativeLayout,LinearLayout)來分組所有可滾動的視圖。 – Gamabunta作品!非常感謝! –