android studioでjavaから動的に(xmlファイルを使わずに)TableLayoutを操作しようとしているのですが、幅と高さを画面いっぱいに、すべて同じ幅、高さで配置することができなくて困っています。
TableLayoutのwidthはMATCH_PARENTと同じようにできたのですが、TableRowの中のTextView一つだけにsetTextするとそのTableRowだけ幅が広くなってしまいます。
TableLayoutのheightに関してはどのように画面いっぱいに広げればいいかわかりません。
上記の問題の解決方法を教えていただけると幸いです。よろしくお願いします。
java
1//インポートは省略 2public class MainActivity extends AppCompatActivity { 3 4 public int horizontal = 6; 5 public int vertical = 7; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 12 final TableLayout tableLayout = new TableLayout(this); 13 setContentView(tableLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 14 ViewGroup.LayoutParams.FILL_PARENT)); 15 16 for (int i = 0; i < vertical; i++) { 17 TableRow tableRow = new TableRow(this); 18 for (int iCol = 0; iCol < horizontal; iCol++) { 19 TextView textView = new TextView(this); 20 if (iCol == 3) { 21 //ここでtextViewの一つに文字をセットすると幅がかわる 22 textView.setText("stretch"); 23 } 24 25 textView.setBackgroundResource(R.drawable.background); 26 textView.setGravity(Gravity.CENTER); 27 textView.setTag(iCol); 28 //幅を広げることはできたが高さの広げ方がわからない 29 tableLayout.setColumnStretchable(iCol,true); 30 31 tableRow.addView(textView); 32 } 33 tableLayout.addView(tableRow); 34 } 35 } 36}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。