В режиме прокрутки я показываю детали о чем-то, что содержит некоторые изображения.Поэтому я считаю, что это не RecyclerView или ListView, а длинная форма, которая содержит TextView и другие компоненты, а затем список изображений для загрузки из Интернета.Вот макет этого упражнения:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/picturesTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/reference_view_pictures"
style="@style/FormSubheader"/>
<LinearLayout
android:id="@+id/pictures"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
В своем задании я использую Picasso для загрузки изображений в ImageViews, которые динамически добавляются к изображениям LinearLayout:
for(picture in reference!!.pictures) {
val imageView = ImageView(this)
imageView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
imageView.scaleType = ImageView.ScaleType.FIT_CENTER
Picasso.with(this)
.load(picture)
.placeholder(R.drawable.ic_hourglass_empty_black_48dp)
.into(imageView)
pictures.addView(imageView)
}
Изображенияуспешно загружены и все, но по какой-то причине, несмотря на то, что layout_height ImageView установлен на WRAP_CONTENT, когда изображение загружается, высота ImageView намного больше, чем изображение, которое он содержит, поэтому у меня есть огромные пробелы между изображениями, которые я быхотел бы удалить.
Может кто-нибудь, пожалуйста, помогите мне разобраться, что происходит?