У меня есть recyclerView, каждый itemView содержит следующее:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
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"
android:layout_width="match_parent"
app:cardCornerRadius="8dp"
android:layout_marginBottom="4dp"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_weight="10"
android:layout_height="wrap_content">
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider"/>
<ScrollView android:layout_width="match_parent"
android:layout_height="100sp">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/answer"/>
</ScrollView>
</LinearLayout>
</android.support.v7.widget.CardView>
Используя этот файл kotlin, я сделал TextViews прокручиваемыми внутри RecyclerView (textView можно прокручивать, только если они не подходят к 100sp).
itemView.answer.setOnTouchListener{v,event ->
// Disallow the touch request for parent scroll on touch of child view
v.parent.requestDisallowInterceptTouchEvent(true)
false
}
Тот же файл в формате Java:
itemView.answer.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// Disallow the touch request for parent scroll on touch of child view
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
Проблема в том, что тогда TextView содержит только 1 или 2 строки текста, внутри этого TextView много пустого пространства,Я хочу сделать что-то вроде этого: когда в TextView есть 1-5 строк текста, его высота равна просто «wrap_content» и не прокручивается.Но когда есть еще 6 строк текста, он умещается только в 5 строк, чтобы увидеть другие строки, которые пользователь должен прокрутить в TextView.
Как я могу это сделать?Снимок экрана текущего RecyclerView: