テーブルを意図したとおりに表示するのに少し問題があります。これらはいくつかの質問ですが、それらはすべて下の写真と私が提供する詳細を参照しているので、それらはすべて単一の投稿にあるべきだと思いました。
これが私がこれまでに達成したことです:
ヘッダー行には、Buttonタイプの要素が1つ含まれています。
TableRow.LayoutParams params = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT);
Button bt = new Button(getContext());
bt.setText("Column1");
mHeader.addView(bt, params);
mHeader.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
addView(mHeader);
テーブルの残りの部分は次のように作成されます:
(MessagerowはTableRowを拡張し、TextViewメンバーを持っています)
for(int i = 0; i < 100; i++) {
MessageRow mr = new MessageRow(getContext());
// stuff to set the TexView text and color
mr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
this.addView(mr);
}
1.ヘッダー行の高さを行に近づけるにはどうすればよいですか?
2.ボタンを行の全幅に表示するにはどうすればよいですか?
テーブルが空で、ヘッダーだけのテキスト行がない場合、ボタンは行幅と一致します。テキストの行を追加するとすぐに、列の幅は調整されますが、ボタンの幅は調整されません。
3.行を画面の幅いっぱいにするにはどうすればよいですか?(MATCH_PARENTはそれを行いません)
4.テーブルの行の間に細い線を引くにはどうすればよいですか?
MessageRowのonDraw()関数をオーバーライドしようとしましたが、一度も呼び出されません。
誤解しないでください。私はあなたが私のために私の仕事をすることを求めているのではありません。これらは私が自分で解決しようとした問題であり、グーグルで検索して同様の投稿を読みましたが、答えは見つかりませんでした。
注:Android用JavascriptのUIデザインには、これらすべての小さな詳細に対する明確な制御と明確なドキュメントが欠けていることがわかりました。
編集
これは私がテーブルを作成する方法です:
TableLayout mTable = new TableLayout(this);
HorizontalScrollView hview = (HorizontalScrollView) findViewById(R.id.hscroll);
populate(mTable);
mTable.setLayoutParams(new TableLayout.LayoutParams( TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
mTable.setBackgroundColor(Color.WHITE);
hview.addView(mTable);