/ / Layout Shaking, коли RecyclerView всередині ScrollView - Android, layout android, android-recyclerview

Макет, що рухається, коли RecyclerView всередині ScrollView - андроїд, андроїд-макет, android-recyclerview

Я створюю RecyclerView і ListView всерединіScrollView, і я отримую проблеми з прокруткою .. Спірний переміщень - це спотворення (неможливо отримати плавний прокрут), я знаю його проблему з RecyclerView всередині ScrollView, тому що макет прокручується без проблем, коли виконується переміщення, доки ListView не існує, але коли RecyclerView елементи вводять макет, який він починає дергати (тільки прокручування пальцем, відсутність правильного прокручування, коли палець знімається). Ось код у xml

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">


<ListView
android:id="@+id/lv_home_dropdown"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@color/colorWhite"
android:dividerHeight="0.5dp"
android:visibility="gone"/>

<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycleView"
android:background="@color/colorWhite">

</android.support.v7.widget.RecyclerView>

</LinearLayout>
</ScrollView>

Відповіді:

1 для відповіді № 1
  1. Вкладені зображення, які прокручуються вздовж однієї осізавжди був проблематично на Android. Останнім часом Google додав вкладену прокрутку підтримка Щоб це було на старих рівнях платформи, ви повинні скористайтеся переглядами в бібліотеці підтримки, як-от NestedScrollView і RecyclerView.

  2. ListView не працює wrap_content як його висота. Ви можете зробити це з RecyclerView якщо у вас є остання версія RecyclerView бібліотека підтримки Крім того, ви вже використовуєте RecyclerView в одному місці ви могли б використовувати їх виключно.

  3. ListView насправді не означає, що це "спадне меню". Можливо, ви повинні розглянути питання про Spinner замість цього.


0 для відповіді № 2

Я маю це нарешті. !! Просто додайте наступний рядок коду у ваш клас, де ви телефонуєте на RecyclerView

mRecyclerView = (RecyclerView)tmpView.findViewById(R.id.recycleView);
mRecyclerView.setNestedScrollingEnabled(false);

Це працює для мене!