Вертикальное расположение ScrollView для Android, сделать так, чтобы ImageView фиксировал процент высоты экрана
Привет, я новичок в разработке Android. Я хочу создать вертикальный ScrollView, который содержит ImageView и TextView. ImageView занимает верхние 50% высоты экрана, а нижняя часть представляет собой TextView с динамическим содержимым, который может занимать менее или более 50% высоты экрана. Поэтому ScrollView будет прокручиваться только в том случае, если текстовое содержимое занимает на 50% больше экрана (см., Например, ниже)
Есть ли способ добиться этого макета?
2 ответа
Решение
<ScrollView
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/scroll_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/scroll_text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
Это макет. В своей деятельности вы должны установить ImageView
высота в 50% от высоты экрана, вот так:
ImageView scrollImage = (ImageView) findViewById(R.id.scroll_image);
TextView scrollText = (TextView) findViewById(R.id.scroll_text);
int height = getResources().getDisplayMetrics().heightPixels;
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) scrollImage.getLayoutParams();
params.height = height / 2;
scrollImage.setLayoutParams(params);
Надеюсь, это помогло.
Попробуйте ниже код
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="100"
android:orientation="vertical">
<ImageView
android:id="@+id/scroll_image"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scaleType="centerCrop"
android:layout_weight="50" />
<TextView
android:id="@+id/scroll_text"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="50" />
</LinearLayout>
</ScrollView>