【问题标题】:Two tableviews with same row heights (Android)具有相同行高的两个表视图(Android)
【发布时间】:2019-01-13 07:08:40
【问题描述】:

我有两个表的视图。一个用作标题列(静态),另一个用作数据。 (线性布局,水平)。

我需要以某种方式读取数据表中每一行的高度,并使标题表中的行高度相同...

【问题讨论】:

  • 请显示您的 xml。

标签: android android-tablelayout row-height


【解决方案1】:

使用以下代码读取您的视图高度:

 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();
                                }
                            });

【讨论】:

  • 完美!谢谢!
  • 欢迎 :-) :-)
【解决方案2】:

根据其他视图的高度来控制高度不是一个好主意。最好使用表格布局

例子

<?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>

输出

你可以用类似的方式实现

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 1970-01-01
    相关资源
    最近更新 更多