我正在尝试创建一个视图,该视图的顶部是标题,中间是图像,底部是一排按钮。我希望将图像覆盖在所有其他视图之上,以便在放大图像时,图像可以占据整个屏幕。我主要使用它,但只能在较小的图像上使用。我面临的问题是,当我得到一个大(高)图像时,该图像被初始化为视图的整个高度,并且标题/按钮隐藏在该图像的后面。
如何允许我的图像缩放到整个视图,又如何初始化图像大小,以便当用户到达此视图时不覆盖我的按钮/标题?
我已经尝试了wrap_content来确定图像的高度,但这仅限制了缩放图像的大小。 可以给我带来良好效果的图片示例:
示例图像过高而导致不良结果:
我的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorBgBlackTintDarkest"
android:orientation="vertical"
android:clickable="true"
>
<!-- Submission title/subreddit info -->
<LinearLayout
android:id="@+id/big_display_title_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp">
<TextView
android:id="@+id/big_display_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight=".75"
android:gravity="center_horizontal"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Title about something random that we found on reddit while browsing yesterday"
android:textColor="@color/colorWhite"
android:textSize="18sp"
/>
<!--subreddit name-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_weight=".25"
android:orientation="horizontal"
android:paddingEnd="10dp">
<View
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".5" />
<TextView
android:id="@+id/big_display_subreddit"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_weight=".5"
android:gravity="end"
android:text="/r/subreddit"
android:textColor="@color/colorWhite"
android:textSize="14sp"
android:textStyle="bold"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/big_display_snack_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/ic_white_chat"
android:id="@+id/big_display_snack_bar_comments"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/ic_white_upvote_medium"
android:id="@+id/big_display_snack_bar_upvote"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/ic_white_downvote_medium"
android:id="@+id/big_display_snack_bar_downvote"/>
<!-- overflow -->
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_white_overflow_small"
android:id="@+id/big_display_snack_bar_overflow"/>
</LinearLayout>
<com.github.piasy.biv.view.BigImageView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/big_image_viewer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"
/>
</RelativeLayout>