6

android でビューのドラッグを使用する方法の解決策がたくさんあるようです。

ただし、遅すぎるか、バグがあります。

既知の解決策は framelayout を持つことであり、ここで説明されているように、ビューは OnTouchListener を使用して移動するときにその layoutParams を変更するだけです: http://www.anddev.org/novice-tutorials-f8/android-drag-and-drop -of-normal-views-not-bitmaps-t13404.html ただし、ビューが imageView の場合、framelayout の右端 (または下端) に達すると、画像が縮小します。

別の可能な解決策は、ここで説明されているように、ドラッグされたコンテンツを表示するためにキャンバスを 使用することです。

コンテナ内のどこにいても、ドラッグされたビューのサイズを同じままにする良い解決策を知っている人はいますか?

私を助けてください 。

4

2 に答える 2

2

現在のプロジェクトでドラッグ アンド ドロップを使用しています。ここでは、さまざまながそれらに適用されるに従ってView配置されています。あなたと同じように、コンテナの右または下に到達するとビューが「縮小」することがわかりました。これが起こることはおそらく非常に明白です。実際、測定とレイアウトの段階で、システムは、与えられたものがまだ可能である場合、実際に望むよりもはるかに小さい寸法を持つ必要があると突然判断することを考えると.極端な近くに配置されたときに親に収まるようにします。RelativeLayoutLayoutParamsViewGroupView

現時点でこれを回避するために私が行った非常に簡単な解決策はViewGroup、画面サイズに対して単純にサイズを大きくすることです。

さらに、実際には s を部分的に画面外に表示したくないと判断する場合がありViewます。その場合、いくつかのプログラム ロジックを使用して、Viewオブジェクトのマージンが設定されないようにし、Views が親コンテナーの外側に移動できるようにします。境界。

onMeasure()別の解決策は、親が利用可能であると見なすよりも大きなサイズを強制的に子に強制するようにオーバーライドするかView、可能であれば、ビューを目的のサイズでそこに配置し、端に重なるようにすることです。それは私の頭の上からのアイデアにすぎず、調査していません。

于 2011-10-25T17:42:20.893 に答える