7

FrameLayoutはAndroidでどのような目的を果たしますか?それが設計されている特定のシナリオはありますか?FrameLayoutの目的は何ですか?また、どのシナリオで使用する必要がありますか?

私のAndroidアプリケーションでは、2つのImageViewを1つずつ表示する必要があるシナリオがあります。これは、この画像上に9パッチの描画可能な画像ファイル.pngです。

RelativeLayoutまたはFrameLayoutのいずれかを使用してください。

また、ViewGroupのそれぞれが使用されるべき異なるシナリオを知りたいと思います。

答えて

-4

はい、シナリオではFrameLayoutを使用できます。

+0

私は使用できますか使用する必要がありますか? :)フレームレイアウトまたは相対レイアウトの使用に関するパフォーマンス上の問題はありますか?希望は私のポイントを得ている。 – Ankit

+2

@Ankitパフォーマンスの問題についてはわかりません(FrameLayoutはメモリフットプリントがより単純だと思います)。 'FrameLayout'は設定がはるかに簡単です(' Gravity.LEFT'、 'Gravity.RIGHT'など)。' RelativeLayout'はずっと複雑で設定可能です。状況に必要な複雑さを選択するだけです。 – Ancantus

0

私は、私はこの質問に得た方法を思い出すが、ここでは誰も助けることができる私の答えはありません:あなたはでframeLayoutが上の領域を遮断するように設計されてhere

を見ることができるように

を単一のアイテムを表示するための画面。一般的に、FrameLayoutは単一の子ビューを保持するために使用する必要があります。子供が重ならないように異なるスクリーンサイズにスケーラブルな方法で子ビューを整理するのは困難な場合があるからです。

オーバービューエフェクト(gpuによって2回以上描画される画面の領域が本当に役に立たないため)があるため、一般に2つのビューを1つずつ重ねて表示すると便利ではありません。

あなたが本当にしている場合、あなたはonDrawメソッドを使用する必要があります(あなたが例hereを見ることができる)とキャンバスAPIとのclipRectメソッド(見hereを持っている)(あなたは一例hereを見ることができます)

FrameLayoutまたはRelativeLayoutに関しては、物事を単純にしたい、またはアクティビティに十分なネストされたレイアウトがある場合は、FrameLayoutの方がよいでしょう。 2017年には、何らかの助けになる制約レイアウトがあります。

関連する問題