【问题标题】:Zoomable RoundImageView - RoundImageView is still rectangle可缩放 RoundImageView - RoundImageView 仍然是矩形
【发布时间】:2018-07-24 21:18:16
【问题描述】:

我正在尝试制作可缩放的 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:我需要椭圆而不是圆形。

有一些图片:

缩放前:

缩放后:

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

【问题讨论】:

    标签: java android imageview scaling foreground


    【解决方案1】:

    对于有同样问题的人。我发现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。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2017-12-25
      • 2015-11-06
      相关资源
      最近更新 更多