TableLayout не центрируется - PullRequest
       0

TableLayout не центрируется

0 голосов
/ 30 ноября 2011

Вот мой 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);
}

Кроме того, данные ответы не изменили макет.

Ответы [ 3 ]

1 голос
/ 28 июня 2013

Если у кого-то есть такая же проблема, уловка заключается в установке

android: stretchColumns = "0"

в TableLayout и

android: layout_gravity = "center"

android: layout_width = "match_parent"

в представлениях содержимого внутри строк.

0 голосов
/ 30 ноября 2011

Я думаю, вы должны написать android:layout_gravity="center" в таблице вместо android:gravity="center".

0 голосов
/ 30 ноября 2011

, и вы можете объявить layoutGravity Center для Table Layout, установленный по центру в отдельных макетах в

android:layout_gravity="center"

Вы можете установить Центр тяжести

myTableLayout.setGravity(Gravity.CENTER);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...