Я бы начал с чего-то похожего на ваш макет:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/your_linear_layout"
android:layout_alignParentEnd="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
<ImageView
android:id="@+id/your_image_view"
android:layout_alignParentEnd="true"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:src="image"/>
</RelativeLayout>
Затем в вашем упражнении или фрагменте вам придется программно установить высоту и ширину LinearLayout в соответствии с ImageView.
ImageView iv = findViewById(R.id.your_image_view);
int ivHeight = iv.getHeight();
int ivWidth = iv.getWidth();
LinearLayout ll = findViewById(R.id.your_linear_layout);
LayoutParams llParams = ll.getLayoutParams();
llParams.height = ivHeight;
llParams.width = ivWidth
ll.setLayoutParams(llParams);
Тег «src» гарантирует сохранение пропорций изображения.Имейте в виду, что вам также придется обрабатывать изменение размера после поворота.