2016-09-10 6 views
0

У меня есть RecyclerView как вид снизу, наряду с некоторыми другими видами на вершине:RecyclerView часть ScrollView

Screenshot

Я хочу, чтобы просмотреть весь вид (1), а не только RecyclerView (2).

Мне удалось заставить его работать, но не безупречно. XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <include layout="@layout/toolbar" /> 

    <android.support.v4.widget.NestedScrollView 
     android:id="@+id/scrollView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      ... 

      <View 
       style="@style/Divider" 
       android:layout_marginBottom="16dp" /> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:padding="8dp"> 

       <android.support.v7.widget.RecyclerView 
        android:id="@+id/recyclerViewNote" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" /> 

      </LinearLayout> 
     </LinearLayout> 
    </android.support.v4.widget.NestedScrollView> 
</LinearLayout> 

Две проблемы:

  1. скроллинг в recyclerview не является гладким, в том смысле, что, когда я поднимаю свой палец, прокрутка останавливается. Нет ускоренного прокрутки, или как вы его называете.

  2. Когда я удаляю элементы из recyclerview, его высота остается неизменной. Значение У меня пустое место, где были образы.

ответ

-1

использование nestedScrollView

<android.support.v4.widget.NestedScrollView 
android:layout_width="match_parent" 
android:layout_height="wrap_content"> 
<android.support.v7.widget.RecyclerView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

     </android.support.v7.widget.RecyclerView> 
    </android.support.v4.widget.NestedScrollView> 
+0

Но тогда я получаю нежелательное поведение. – raze

+0

сохранить его внутри RelativeLayout не внутри LinearLayout – snehasish

+0

Если вы уверены, что это работает, можете ли вы предоставить полный макет? Сейчас я двигаюсь назад :) – raze

0

Я попытался с помощью примера

Scrolling в recyclerview не является гладким, в том смысле, что, когда я поднять палец, то прокрутка останавливается. Нет ускоренного прокрутки, или , как бы вы это ни называли.

Даже я заметил это. Я думаю, что есть некоторые ограничения, когда вы используете вложенную прокрутку, поскольку она должна обрабатывать оба свитка.

Когда я удаляю предметы из recyclerview, его высота остается . Значение У меня пустое место, где были образы.

Пустое пространство из-за padding вы обратились к linear layout из recyclerview. Событие, хотя вы удаляете все элементы из recyclerview, заполнение родительского элемента linear layout остается таким же, как и пробелы.

+0

Да, похоже, такая простая проблема. Я попытаюсь поэкспериментировать с некоторыми из многих других доступных видов. Возможно, мне также нужно переопределить некоторые из прокрутки. – raze

+0

@raze Да. А как насчет белого пространства. Это тот случай, который я объяснил в своем ответе? – Nikhil

+0

Нет, это не помогло. Вид по-прежнему высок, как если бы изображение было там, хотя у меня есть wrap_content и удалено дополнение. Необходимо как-то обновить макет. – raze