【发布时间】:2019-01-13 07:08:40
【问题描述】:
我有两个表的视图。一个用作标题列(静态),另一个用作数据。 (线性布局,水平)。
我需要以某种方式读取数据表中每一行的高度,并使标题表中的行高度相同...
【问题讨论】:
-
请显示您的 xml。
标签: android android-tablelayout row-height
我有两个表的视图。一个用作标题列(静态),另一个用作数据。 (线性布局,水平)。
我需要以某种方式读取数据表中每一行的高度,并使标题表中的行高度相同...
【问题讨论】:
标签: android android-tablelayout row-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>
输出
你可以用类似的方式实现
【讨论】: