Я створюю 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Вкладені зображення, які прокручуються вздовж однієї осізавжди був проблематично на Android. Останнім часом Google додав вкладену прокрутку підтримка Щоб це було на старих рівнях платформи, ви повинні скористайтеся переглядами в бібліотеці підтримки, як-от
NestedScrollView
іRecyclerView
.ListView не працює
wrap_content
як його висота. Ви можете зробити це зRecyclerView
якщо у вас є остання версіяRecyclerView
бібліотека підтримки Крім того, ви вже використовуєтеRecyclerView
в одному місці ви могли б використовувати їх виключно.ListView насправді не означає, що це "спадне меню". Можливо, ви повинні розглянути питання про
Spinner
замість цього.
0 для відповіді № 2
Я маю це нарешті. !! Просто додайте наступний рядок коду у ваш клас, де ви телефонуєте на RecyclerView
mRecyclerView = (RecyclerView)tmpView.findViewById(R.id.recycleView);
mRecyclerView.setNestedScrollingEnabled(false);
Це працює для мене!