如何强制将TableLayout中的某些textview列在1行中取消截断?

时间:2019-03-26 07:58:42

标签: android android-layout textview tablelayout android-tablelayout

我想创建一个具有3列(3 TextViews)的表,并且第一列(0)将获得他需要的所有空间(宽度),只要其他列(1,2)的文本不会被截断。
我尝试使用“ stretchColumns ”,但是这导致其他文本视图被截断。
这就是我现在使用以下XML的含义:


enter image description here


这是我的表的XML对象:

<TableLayout
            android:id="@+id/correctionsTable"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="0">

            <TableRow
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fontFamily="sans-serif"
                    android:maxLines="1"
                    android:text="type"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fontFamily="sans-serif"
                    android:gravity="center"
                    android:maxLines="1"
                    android:text="time"
                    android:textStyle="bold" />

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fontFamily="sans-serif"
                    android:gravity="right"
                    android:maxLines="1"
                    android:text="precent"
                    android:textStyle="bold" />
            </TableRow>


            <include layout="@layout/fragment_session_statistics_correction" />

            <include layout="@layout/fragment_session_statistics_correction" />

            <include layout="@layout/fragment_session_statistics_correction" />

        </TableLayout>


每行“ fragment_session_statistics_correction”的内部XML为:

<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:id="@+id/textViewType"
    android:layout_weight="0.6"
    android:width="0dp"
    android:layout_height="wrap_content"
    android:text="rtyrtyrdfg dfg df g dfg df gdf g df gdf g df gdf gdf g df gdf gdf ttrygdf gdf g df gdf gdf ttry sdfs  s s s ss ss s s s s" />

<TextView
    android:id="@+id/textViewTime"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:width="0dp"
    android:maxLines="1"
    android:gravity="center"
    android:scrollHorizontally="true"
    android:text="T2extView" />

<TextView
    android:id="@+id/textViewPercent"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:width="0dp"
    android:gravity="center"
    android:maxLines="1"
    android:text="TextView" />

</TableRow>

如何使那些TextView的最小大小设置为一点,使文本完全以1行显示。
*注意:这些行(标题中的行除外)会在运行时与其他字符串一起添加。

0 个答案:

没有答案