2016-04-13 24 views
0

Linearlayoutに2つのチェックボックスを動的に追加します。次に、これらの線形レイアウトがRelativelayoutで次々に追加されます。チェックボックスの重みは、線形レイアウトの幅の50%を占めるように設定されています。さて、高さが一致しなければ、より大きな高さのチェックボックスの底が消えます。これを解決するには?LinearLayoutの高さを子コンポーネントの最高高さにするにはどうすればいいですか?

enter image description here

とコード:

LinearLayout ll; 
    LinearLayout.LayoutParams lp; 
    CheckBox ch; 
    int id = 1200, i, j; 

    for (i = 0, j = 0; i < selections.size() - 1; i += 2, j += 2) { 
     ll = new LinearLayout(NotificationSettings.this); 
     lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 
     ch = new CheckBox(NotificationSettings.this); 
     lp.weight = 1.0f; 
     ch.setLayoutParams(lp); 
     ch.setText(selections.get(i)); 
     ch.setChecked(isSelected); 
     ch.setTextColor(color); 
     ch.setId(j); 
     ll.addView(ch); 
     ch = new CheckBox(NotificationSettings.this); 
     ch.setLayoutParams(lp); 
     ch.setText(selections.get(i + 1)); 
     ch.setChecked(isSelected); 
     ch.setTextColor(color); 
     ch.setId(j + 1); 
     ll.addView(ch); 
     RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 
     if (id == 1200) 
      p.addRule(RelativeLayout.BELOW, addBelow); 
     else 
      p.addRule(RelativeLayout.BELOW, id); 
     ll.setLayoutParams(p); 
     ll.setId(++id); 
     rl.addView(ll); 
    } 

編集: 両方のチェックボックスを持っている複数の行:

enter image description here

+0

レイアウトXMLコードにWRAP_CONTENT

変更

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 

にあなたの相対的なレイアウトのparams'の高さを変更してみてください? –

答えて

0

は、あなたがそのことを確認することができますここではスクリーンショットです線形レイアウトの下の高さは上記の線形レイアウトをカバーするには大きすぎないのですか?

それとも

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); 
+0

WRAP_CONTENTが機能しませんでした。上のスクリーンショットでは、線形レイアウトがもうないことがわかります。 – alu

+0

私はあなたのイメージで強調したものの下のレイアウトに関係しています。コンテナのレイアウトは、「タイプの選択」と、下のギアボタンを使用します。 – ljpv14

+0

私は以下のレイアウトが追い越しているとは思わない。私は複数の行でチェックボックスを表示するスクリーンショットで質問を編集しました。この問題はここでは発生しません。 – alu

関連する問題