防止在父布局的边界之外绘制ImageView

时间:2018-01-14 07:47:24

标签: android android-layout android-xml

我有一个具有缩放功能的图像视图

<com.github.chrisbanes.photoview.PhotoView
        android:id="@+id/helfie_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"
        android:scaleType="center" />

它位于具有顶角半径的drawable的父级中:

<LinearLayout
            android:outlineProvider="background"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/sheet_bg"
            android:orientation="vertical">

            <!-- including the photoview -->
            <include

                android:id="@+id/preview_layout_frame"
                layout="@layout/preview_snaped_helfie"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_weight="1" />


            <android.support.v7.widget.RecyclerView
                android:id="@+id/helfie_list"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom"
                android:padding="20dp" />


        </LinearLayout>

这里是sheet_bg

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/dark" />
    <!--<stroke-->
        <!--android:width="5dp"-->
        <!--android:color="@color/white" />-->
    <corners
        android:topLeftRadius="35dp"
        android:topRightRadius="35dp"

        />
</shape>

我尝试了从clipChildrenclipPadding的所有内容,以确保ImageView不会在线性布局的边界之外绘制,到目前为止还没有工作。使用cardview进行修复(但这在某些设备上失败,我只需要顶角半径)。

布局背景如何

How the layout background looks like

PhotoView与图像的外观如何。 How the PhotoView looks like with an image.

如您所见,它跨越父母的曲线范围。

0 个答案:

没有答案