我最近完成了一个简单的拖放形状游戏。它让用户将一个形状 ( ImageView
) 拖到另一个“空占位符” ImageView
。
我现在想让这个更高级一点,而不是拖动一个简单的形状,我想制作一个各种非正交形状的拼图,例如将一个圆分成 5 个不同的部分。我现在遇到的问题是如何设计布局。我不知道如何制作真正的“定制”形状ImageView
,据我从研究中发现这是不可能的。所以我现在的想法是重叠一些 square ImageView
,每个都只有一个图像的子集,其余的都是透明的。因此最终的输出看起来就像是一些自定义形状ImageView
的 s。
例子:
+ + +
因为只有内部部分是“可见的”,而圆圈的其余部分是透明的,所以当所有这些部分都放在屏幕上的同一位置时,最终图像将如下所示:
我还没有尝试过……但我预见到至少有一个问题。当我将这些碎片拖到这个拼图上时,它们会在拖到同一个地方时全部“卡入”到位。因为实际上我在这里真正拥有的只是 a 内的一个圆圈的图片,ImageView
它周围有一些不可见的矩形边界。
希望这种情况是清楚的。现在我的问题:
- 是否有可能拥有真正自定义形状
ImageView
的 s 而不是我重叠图像的想法? - 如果我的想法是处理这个拼图想法的最佳方式,那么可以更改哪些属性以使所有这些拼图的“掉落”动作不会发生在同一个地方?如果我想“放下”披萨形状的块,我希望它只有在靠近圆圈左上角时才卡入到位。
注意:我是 Android 编程的新手,对 Java/XML 也有些陌生,很可能我忽略了一些东西,所以请随意提出您认为合适的其他方法。