android:如何在imageview旋转后获得裁剪的图像?

g6baxovj  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(481)

我在相对布局中旋转的图像视图有问题。我的问题是:

我该怎么做才能得到我想要的?
谢谢!
我的java代码:

previewImageView.setRotation(rotAngle);

我的xml:

<RelativeLayout
        android:id="@+id/previewLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <com.xxxx.SquareImageView
            android:id="@+id/previewBackgroundImageView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitXY"
            android:src="@drawable/dark_blue_page"
            />

        <com.xxxx.TouchImageView
            android:id="@+id/previewImageView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:layout_alignStart="@+id/previewBackgroundImageView"
            android:layout_alignTop="@+id/previewBackgroundImageView"
            android:layout_alignEnd="@+id/previewBackgroundImageView"
            android:layout_alignBottom="@+id/previewBackgroundImageView"

            android:layout_margin="50dp"
            android:scaleType="centerInside"
            />

    </RelativeLayout>
brvekthn

brvekthn1#

最简单的解决方案是在framelayout中 Package imageview
就像这样:

<FrameLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="50dp"
    android:layout_alignStart="@+id/previewBackgroundImageView"
    android:layout_alignTop="@+id/previewBackgroundImageView"
    android:layout_alignEnd="@+id/previewBackgroundImageView"
    android:layout_alignBottom="@+id/previewBackgroundImageView"
    android:layout_alignLeft="@+id/previewBackgroundImageView"
    android:layout_alignRight="@+id/previewBackgroundImageView" >

     <com.xxxx.TouchImageView
        android:id="@+id/previewImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerInside" />

 </FrameLayout>

这样,framelayout将剪裁其子视图中超出framelayout边界的任何部分。这是基于视图属性的android:clipchildren that 默认值为 true 缺点:这会给项目带来更多的布局嵌套,可能会损害应用程序的性能。但单凭一个框架布局本身不会造成任何伤害。

相关问题