アプリにオーバーレイ(半透明)画面を実装する必要があります。これは Showcase View に似ています。
私の推測では、このユースケースにはFrameLayout
を使用することでした。これは、アイテムを互いの上にスタックするために使用されるためです。しかし、上記のライブラリがRelativeLayout
を使用していることに驚きました。
私の質問は、FrameLayout
をいつ使用するか、このような場合ではない場合ですか? FrameLayout
を使用する場合のデメリットは何ですか?
レイアウトを選択する際の一般的な経験則は、ネストされたレイアウトビューの数が最小になる組み合わせを選択することです。
あなたの質問に固有の、RelativeLayoutは、はるかに単純なFrameLayoutよりも大きく、より機能的です。したがって、単純なレイアウトの場合、後者の方がおそらくより効率的です。ただし、RelativeLayoutを使用して配置オプションを追加すると、GUIをより少ない数のレイアウトビューで実装できる場合は、おそらくそれがより良い選択です。
ここにページがあります これは、いくつかのトレードオフについて説明し、レイアウトを設計するときに使用する便利なツールを示しています。ほとんどはRelativeLayoutとLinearLayoutについて説明しますが、RelativeLayoutとFramelayoutのどちらかを選択するのにも適しています。 FrameLayoutはさらにシンプルなレイアウトであることに注意してください。
編集(2017):さらに複雑なレイアウトの場合、ConstraintLayoutを使用して、ネストされたレイアウトを回避できる場合があります。