具有相同行高的两个表视图 (Android)
Two tableviews with same row heights (Android)
我有两个 table 视图。一个用作标题列(静态),另一个用作数据。 (线性布局,水平)。
我需要以某种方式读取数据 table 中每一行的高度,并使标题 table 处的行处于相同的高度...
使用下面的代码读取您的视图高度:
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();
}
});
根据其他视图的高度来控制高度不是一个好主意。最好使用 Table 布局
示例
<?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>
输出
您可以用类似的方式实施
我有两个 table 视图。一个用作标题列(静态),另一个用作数据。 (线性布局,水平)。
我需要以某种方式读取数据 table 中每一行的高度,并使标题 table 处的行处于相同的高度...
使用下面的代码读取您的视图高度:
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();
}
});
根据其他视图的高度来控制高度不是一个好主意。最好使用 Table 布局
示例
<?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>
输出
您可以用类似的方式实施