Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-以编程方式添加带有垂直对齐项的TableRows_Android_Alignment_Orientation_Tablelayout_Tablerow - Fatal编程技术网

Android-以编程方式添加带有垂直对齐项的TableRows

Android-以编程方式添加带有垂直对齐项的TableRows,android,alignment,orientation,tablelayout,tablerow,Android,Alignment,Orientation,Tablelayout,Tablerow,我正在以编程方式在TableLayout中填充行。每行包含3个文本视图,但它们是水平对齐的,我希望它们是垂直对齐的 TableLayout table = (TableLayout) findViewById(R.id.tableLayout_customers); TableRow row = new TableRow(this); row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,

我正在以编程方式在TableLayout中填充行。每行包含3个文本视图,但它们是水平对齐的,我希望它们是垂直对齐的

TableLayout table = (TableLayout) findViewById(R.id.tableLayout_customers);
TableRow row = new TableRow(this);
row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));

TextView tw_name = new TextView(getApplicationContext());
TextView tw_email = new TextView(getApplicationContext());
TextView tw_phone = new TextView(getApplicationContext());

tw_name.setText("Mr Foo");
tw_email.setText("mrfoo@bar.ninja");
tw_phone.setText("123");

row.addView(tw_name);
row.addView(tw_email);
row.addView(tw_phone);

table.addView(row, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
我试过这个:

 row.setGravity(Gravity.CENTER_VERTICAL);
 row.setOrientation(LinearLayout.VERTICAL);

。。但显然不是这样。有什么想法吗?

不要插入表格行,而是插入另一个表格布局,然后将您的项目放入第二个布局。
TableRow的名称似乎意味着其中的每个元素都将被放入一个新行,这让您感到困惑。但事实并非如此。TableRow的意思是“这是一个新行”。所以TableRow创建了一个新行,其中的所有项目都是。。。在这一新行上(水平对齐)

您只有一个表行实例,这就是为什么它以水平顺序追加所有文本视图的原因。对于每一行,创建一个表行实例,并向每个实例添加文本视图,它将为每个文本视图创建一行