Два стола с одинаковой высотой строки (Android)

У меня есть представление с двумя таблицами. Один используется в качестве столбца заголовков (статический), а другой - для данных. (Линейная планировка, горизонтальная).

Мне нужно как-то прочитать высоту каждой строки в таблице данных и сделать так, чтобы строки в таблице заголовков были на одной высоте...

2 ответа

Решение

Используйте этот код ниже, чтобы прочитать ваш View Height:

 view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                                @Override
                                public void onGlobalLayout() {
                                //TO remove listener
                                    view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                                int height = view.getHeight();
                                int width = view.getWidth();
                                }
                            });

Это не очень хорошая идея, чтобы контролировать высоту на основе высоты другого вида. Лучше использовать макет таблицы

пример

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="1">
    <TableRow>
        <TextView
            android:text="@string/table_layout_4_open"
            android:padding="3dip" />
        <TextView
            android:text="@string/table_layout_4_open_shortcut"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>

    <TableRow>
        <TextView
            android:text="@string/table_layout_4_save"
            android:padding="3dip" />
        <TextView
            android:text="@string/table_layout_4_save_shortcut"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>

Выход

Скриншот

Вы можете реализовать аналогичным образом

Другие вопросы по тегам