可缩放 RoundImageView - RoundImageView 仍然是矩形

Zoomable RoundImageView - RoundImageView is still rectangle

我正在尝试制作可缩放的 RoundImageView。我正在使用这个 TouchImageView 但我用 RoundedImageView 扩展了它,而不是用标准的 ImageView。这个 TouchImageView 在一些具有这些背景的 FrameLayouts 中:

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

这个后台也有TouchImageView。当我调用它的函数 setOval(true) 时,一切似乎都很好,直到我开始缩放。看起来它只创建了圆形位图,但 ImageView 仍然是矩形...

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

有一些图片:

缩放前:

缩放后:

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

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

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

并使用 setMask(drawable)。您还需要设置 PorterDuffXferMode(...)。我用了 DST_IN.

希望对您有所帮助!