2017-08-03 5 views
0

なぜですか?LayoutInflater親

+0

相対レイアウトがビューvの親であるため、2番目の引数を 'relativeLayout'として追加する必要があり、nullでないためです。 –

+0

相対レイアウトがビューvの親であるため、2番目の引数を 'relativeLayout'として追加する必要があり、nullでないためです。 –

答えて

0

nullを親として渡すときにこのリント警告が表示されていますか?

enter image description here

それとも、XMLのビューは、接頭辞layout_で開始し、他にはないいくつかの属性を持っていることに気づきましたか?

layout_で始まる属性は、ビューの親ビューグループによってビューの測定、レイアウト、描画に使用されます。したがって、常にViewGroupを親に渡してレイアウトを拡張する必要があります。

nullを親として渡すと、インフレータは渡すレイアウトの親が何であるか分かりません。 FrameLayoutまたはRelativeLayoutまたはその他のレイアウトにすることができます。したがって、適切な親レイアウトを渡さないと、layout_のパラメータは無視されます。

+0

と私がaddView(v)を使用するとき。私はRelativeLayout 内 をテキストを配置しました この問題は両方とも内部にあるRelativeLayoutなので、Mean RelativeLayoutは両方向の親です – hackour

+0

ビューが膨張している間だけ、xml属性が解析されてレイアウトに適用されます。ビューがレイアウトに追加されている間は実行されません。 – Bob

+0

ああ、親をnullにすると、xml属性が解析されてレイアウトに適用されますが、nullを使用して手動addView();を追加すると... テキストは追加されますが、xml属性は適用されません。 – hackour

0

"android:layout_"で始まるパラメータは、スーパービューに関連してビューを配置する方法を説明するために提供されます。インフラストラクチャを使用してビューを構築するときには提供しません。

これはかなり明白ですが、投稿した2番目の方法を使用してください。

関連する問題