0

LinearLayoutにプログラムでビュー(ルートビューは何でも構いません)をプログラムで追加する必要がありますが、そのビューがConstraintLayoutの場合は期待通りに機能しません。私の理解によれば、子ビューは、その親ビューが何であるかにかかわらず動作しなければならないので、これはなぜ起こるのですか?どのように私はこの作品を作るのですか?LinearLayout内のConstraintLayoutは機能しません

問題は非常に簡単ですが、私はこの問題に対処する質問を見つけることができません。私は歪んビュー表示するためにスクリーンショットを添付しています

元のビュー _____________________をVIEWここ_______ enter image description here

そして

enter image description hereがコードであるINSIDE LINEARレイアウトを追加した後:

override fun setContentView(view: View?) { 
    val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false) 
    titleView = toolbar.findViewById(R.id.title) as TextView 

    val finalView = LinearLayout(this) 
    finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT) 
    finalView.orientation = LinearLayout.VERTICAL 
    finalView.addView(toolbar) 
    finalView.addView(view) 
    super.setContentView(finalView) 
} 

アクティビティのsetContentView機能をオーバーライドしています。

+0

finalView.addView(view)を実行しているときに、明示的にLayoutParamsを設定しましたか?残りのすべての領域を占めるように1の重みを付けることもできます。 **編集**:実際には、私はかなり確信していますLinearLayoutParams.weight = 1あなたが欲しいものです – mbonnin

+0

重量?私は本当にそれを試すべきですか?なぜなら、体重は、 'ConstraintLayout'が' LinearLayout'の中でなぜ面白いのかという事実とは関係がないからです。 –

+1

@mbonnin manあなたは美人!出来た。ウェイトなものではなく、ビューを追加するときに明示的に 'LayoutParams'を設定します –

答えて

0

ConstraintLayoutLinearLayoutに間違っていませんでした。私はちょうど私のビューを追加中にLayoutParamsを明示的に追加しなければならなかった。

override fun setContentView(view: View?) { 
    val toolbar = layoutInflater.inflate(R.layout.view_toolbar, null, false) 
    titleView = toolbar.findViewById(R.id.title) as TextView 

    val finalView = LinearLayout(this) 
    finalView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT) 
    finalView.orientation = LinearLayout.VERTICAL 
    finalView.addView(toolbar) 
    finalView.addView(view, LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT)) 
    super.setContentView(finalView) 
} 
関連する問題