Я сказал вам использовать только один ScrollView
, потому что вам не нужны два. Вы можете использовать любое количество представлений в Scrollview
, просто убедитесь, что дочерний элемент ScrollView
- Layout
. Вы можете использовать любой макет, а затем поместить в него все, что у вас есть. Вот как используется ScrollView
.
Как официальная документация ScrollView
:
Прокрутка может иметь только один прямой дочерний элемент. . Чтобы добавить несколько представлений в представление прокрутки, сделайте прямым потомком, с которым вы добавляете группу представлений, например LinearLayout, и разместите дополнительные представления в этом LinearLayout.
Итак, измените свой код как:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ScrollView
android:id="@+id/bio_scroll2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:srcCompat="@android:drawable/button_onoff_indicator_on" />
<TextView
android:id="@+id/bio_text"
style="@style/NameStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.2"
android:text="@string/bio" />
</LinearLayout>
</ScrollView>
</LinearLayout>
Кроме того, вы можете удалить root LinearLayout
, если вы не хотите добавлять в него какое-либо другое представление, и это сделает ScrollView
макетом root.
Кроме того, height
as match_parent
не работает в ScrollView
и работает только как wrap_content
или любой другой размер исправления, поэтому, если вы хотите, чтобы он занимал всю высоту своего родителя, вы должны используйте android:fillViewport="true"
в теге ScrollView's
, а высота его родительского элемента должна быть match_parent
.