最近、単純なドラッグ アンド ドロップ図形ゲームを完成させました。ユーザーは形状 ( ImageView
) を別の「空のプレースホルダー」にドラッグしましたImageView
。
単純な形状をドラッグする代わりに、これをもう少し高度なものにしたいと思います。たとえば、円を 5 つの異なるピースに分割するなど、さまざまな非直交形状のパズルを作成したいと考えています。今悩んでいるのは、レイアウトをどうするかです。真に「カスタム」な形状の を作成する方法がわかりませImageView
ん。私の研究からわかる限り、それは不可能です。したがって、今のところ私の考えは、いくつかの正方形を重ねることですImageView
。それぞれの正方形は画像のサブセットのみを持ち、残りは透明になります。したがって、最終的な出力は、多数のカスタム形状の のように見えますImageView
。
例:
+
+
+
内部セクションのみが「表示」され、円の残りの部分は透明であるため、これらすべてのピースが画面上の同じ場所に配置されると、最終的な画像は次のようになります。
これはまだ試していませんが、少なくとも 1 つの問題が予想されます。ピースをこのパズルにドラッグすると、同じ場所にドラッグすると、すべてのピースが所定の位置に「スナップ」されます。実際には、ここにあるのは、ImageView
周囲に目に見えない長方形の境界がある 内の円の写真だけです。
うまくいけば、この状況は明らかです。今私の質問:
ImageView
画像を重ねるという私の考えの代わりに、真にカスタム形状の s を持つことは可能ですか?- 私が考えていることが、このパズルのアイデアを処理する最良の方法である場合、これらすべてのパズルのピースに対して同じ場所で「ドロップ」アクションが発生しないように、どのプロパティを変更できますか? ピザの形をしたピースを「ドロップ」したい場合は、円の左上に近づいたときにのみ所定の位置に収まるようにします.
注: 私は Android プログラミングは初めてで、Java/XML もやや初めてです。何かを見落としている可能性が非常に高いので、適切と思われる他のアプローチを提案してください。