创建与其他视图重叠的可缩放视图?

时间:2018-09-26 00:48:31

标签: android android-layout android-image android-relativelayout

我正在尝试创建一个视图,该视图的顶部是标题,中间是图像,底部是一排按钮。我希望将图像覆盖在所有其他视图之上,以便在放大图像时,图像可以占据整个屏幕。我主要使用它,但只能在较小的图像上使用。我面临的问题是,当我得到一个大(高)图像时,该图像被初始化为视图的整个高度,并且标题/按钮隐藏在该图像的后面。

如何允许我的图像缩放到整个视图,又如何初始化图像大小,以便当用户到达此视图时不覆盖我的按钮/标题?

我已经尝试了wrap_content来确定图像的高度,但这仅限制了缩放图像的大小。 可以给我带来良好效果的图片示例:

enter image description here

示例图像过高而导致不良结果:

enter image description here

我的布局:

<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>

0 个答案:

没有答案