在TableRow中对齐TextView

Rya*_*n R 9 android alignment textview tablerow

我试图在一个tablerow中对齐3个文本视图,如下所示:

|------------------------------------------------|
| {TextView1} {TextView2}            {TextView3} |
|------------------------------------------------|

// TextView 1, 2 Left aligned
// TextView 3 Right aligned
Run Code Online (Sandbox Code Playgroud)

此外,表格行应填充表格宽度.

使用下面的代码我只能实现这个目的:

|------------------------------------------------|
| {TextView1} {TextView2} {TextView3}            |
|------------------------------------------------|
Run Code Online (Sandbox Code Playgroud)

我代码:

TableRow tr = new TableRow(myActivity.this);

TextView tvLeft = new TextView(myActivity.this);
tvLeft.setText(values[0]);

TextView tvCenter = new TextView(myActivity.this);
tvCenter.setText(values[1]);

TextView tvRight = new TextView(myActivity.this);
tvRight.setText(values[2]);
tvRight.setGravity(Gravity.RIGHT);

tr.addView(tvLeft);
tr.addView(tvCenter);
tr.addView(tvRight);

myTable.addView(tr);
Run Code Online (Sandbox Code Playgroud)

右侧文本视图不会向右移动,并且表格行不会填充表格宽度.我是否需要在文本视图中使用权重?

编辑:添加了TableLayout:

<TableLayout 
android:layout_height="wrap_content"
android:id="@+id/myTable" 
android:layout_width="fill_parent" 
>
</TableLayout>
Run Code Online (Sandbox Code Playgroud)

Gle*_*ger 8

第二枪

我不确定您是以编程方式还是以XML格式创建TableLayout或属性是什么,但听起来您想要

(在Java中)

myTable.setColumnStretchable(2, true);
Run Code Online (Sandbox Code Playgroud)

(用XML格式)

android:stretchColumns="2"
Run Code Online (Sandbox Code Playgroud)