【问题标题】:How to make this type of drawable in xml如何在xml中制作这种类型的drawable
【发布时间】:2014-09-06 04:53:41
【问题描述】:

我想在屏幕中心制作一个透明的圆圈,而在屏幕的其余部分制作一个不透明的圆圈。这可以用drawable吗?或者可以通过编程方式完成。

我在地图上添加了一张图片。地图完美运行。但问题是我想支持多种分辨率,所以我不想使用不同的图像。 https://www.dropbox.com/sh/yyafqik996p4avp/AABc8ZMKi4pks_BQutQrbg8aa?dl=0

编辑:

1) 地图图像是我预期的输出。 2)Mapfilter 图像是我想使用可绘制或以编程方式创建的。 3)输出图像是我在使用以下方法时得到的。

我用这个方法画了第二张图 http://pastebin.com/MUrH8gmS

我使用 setImageBitmap 方法将输出位图设置为我的图像视图

但现在的问题是它在图像的左右两侧留下了一些空间(参见 Output.png 图像)。如何删除它?

【问题讨论】:

  • 在绘制矩形之前,在画布上剪辑一个圆形路径
  • @suitianshi 剪切圆形路径会给我一个位图,其中圆形填充,屏幕其余部分透明,但我希望它是相反的。
  • 在你的函数中添加一个`Region.Op`参数
  • @Sanjay 恕我直言,您不能在 xml drawable 中做到这一点,但您可以轻松地通过编写自定义形状并将其传递给 ShapeDrawable 来做到这一点
  • @suitianshi 我剪掉了圆圈,但我还剩下一些余量。

标签: android compound-drawables


【解决方案1】:

您可以使用GroundOverlay.GroundOverlay将透明的圆形图像设置在地图的中心。

【讨论】:

  • 我不想设置 image 。如果可能的话,我想创建一个可绘制的形状。我使用了相对布局并在地图顶部设置了图像。
  • @Sanjay 恕我直言,您不能在 xml drawable 中做到这一点,但您可以轻松地通过编写自定义形状并将其传递给 ShapeDrawable 来做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-12
  • 2019-02-24
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
相关资源
最近更新 更多