Zoomable RoundImageView-RoundImageView仍然是矩形

问题描述 投票:1回答:1

我正在尝试制作可缩放的RoundImageView。我正在使用此TouchImageView但是我用RoundedImageView而不是标准ImageView进行了扩展。此TouchImageView在某些具有这些背景的FrameLayout中:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFF"/>

此背景还具有TouchImageView。当我调用它的函数setOval(true)时,一切似乎都很好,直到我开始缩放为止。看起来它只能创建圆形的位图,但是ImageView仍然是矩形...

PS:我需要椭圆形而不是圆形。

有一些图像:

缩放前:

缩放后:

谢谢您的每一个回答! ;)

java android imageview scaling foreground
1个回答
0
投票

对于同样问题的人。我发现MaskableFrameLayout非常易于使用。它扩展了FrameLayout,因此可以在其中包含可缩放的视图。只需创建椭圆形或可绘制的形状即可:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#FFFFFF"/></shape>

并使用setMask(drawable)。另外,您还需要setPorterDuffXferMode(...)。我使用了DST_IN。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.