可缩放 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.
希望对您有所帮助!
我正在尝试制作可缩放的 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.
希望对您有所帮助!