这是我的xml:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/test"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
>
<TextView
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
<TextView
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</TableRow>
我动态生成其余部分。
现在它将它水平居中放在屏幕上,但一切都在左侧。我知道这是一个简单的修复,但我似乎无法做到正确。
这是我的手动代码:
for(Item l : leaders)
{
// Make a new row
TableRow row = new TableRow(this);
row.setBackgroundColor(Color.DKGRAY);
TextView name= new TextView(this);
TextView score = new TextView(this);
createView(row, name, l.getName());
createView(row, score, String.valueOf(l.getScore()));
name.setTextColor(Color.MAGENTA); // Just to distinguish between the columns
// Add row to table layout
tl.addView(row);
}
}
private void createView(TableRow row, TextView textView, String string)
{
textView.setText(string);
textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
textView.setTextColor(Color.CYAN);
textView.setTextSize(32);
textView.setPadding(20, 0, 0, 0);
row.setPadding(0, 1, 0, 1);
row.addView(textView);
}
此外,给定的答案并没有改变布局。
答案 0 :(得分:1)
如果有人遇到同样的问题,诀窍是设置
机器人:stretchColumns = “0”
在TableLayout和
中机器人:layout_gravity = “中心”
机器人:layout_width = “match_parent”
在行内的内容视图中。
答案 1 :(得分:0)
您可以在父级布局的中心设置布局_Gravity Center for Table Layout 如
android:layout_gravity="center"
您可以设置重力中心
myTableLayout.setGravity(Gravity.CENTER);
答案 2 :(得分:0)
我认为你应该在表格布局而不是android:layout_gravity="center"
中写android:gravity="center"
。