处理TableLayout的有效方法?

时间:2018-08-30 06:42:11

标签: android android-tablelayout

我的表格布局有问题。我的表由24行和8列组成。在平板电脑中,它看起来不错且合适。但是在电话中,它看起来非常糟糕。

有没有一种方法可以处理表格布局,使其在电话中看起来不错?使用任何图书馆或任何建议吗?

已更新:

在Nexus 7平板电脑中。界面还可以。

enter image description here

在Nexus 5x中。不好该值仅显示一半。

enter image description here

代码很长。注意:这不是我的代码。我只是为Android开发人员找到一份工作,需要改善他们的代码。我将只显示1行和1列。

 <TableLayout
            android:id="@+id/tabla_cuerpo1b"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginTop="5dp"
            android:gravity="center">

            <TableRow
                android:id="@+id/tbrl"
                android:layout_width="match_parent"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:gravity="center">

                <FrameLayout
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"

                    android:paddingLeft="5dp"
                    android:paddingRight="5dp">

                    <TextView
                        android:id="@+id/mainLabel"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="top|right"
                        android:text="TPS"
                        android:textAppearance="?android:attr/textAppearanceLarge" />

                    <TextView
                        android:id="@+id/statView"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="bottom|left"
                        android:text="RPM"
                        android:textAppearance="?android:attr/textAppearanceLarge" />

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                         />

                    <TextView
                        android:id="@+id/speedL"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="\n"
                        android:textAppearance="?android:attr/textAppearanceLarge"
                        android:visibility="invisible" />
                </FrameLayout>

                <TextView
                    android:id="@+id/ld1"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="10%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld2"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="20%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld3"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="30%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld4"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="40%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld5"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="50%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld6"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="60%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld7"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="70%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />

                <TextView
                    android:id="@+id/ld8"
                    android:layout_width="0dp"
                    android:layout_height="match_parent"
                    android:layout_weight="1"

                    android:gravity="center"

                    android:text="80%"
                    android:textAppearance="?android:attr/textAppearanceLarge" />
            </TableRow>

3 个答案:

答案 0 :(得分:0)

尝试阅读本 documentation。这是android的完整文档。仔细阅读WeightWeightSumWeight使布局更具响应性,并在屏幕上使用相同的空间。

例如

注意,这是一个LinearLayout示例

如果我想添加两个LinearLayout,就像这样:

enter image description here

代码如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="100dp"
    android:layout_margin="50dp"
    android:background="@drawable/rounded_circle"
    android:weightSum="2"
    android:orientation="horizontal">

    <LinearLayout
        android:layout_margin="10dp"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@drawable/rounded_circle"
        android:gravity="center"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="1"/>


    </LinearLayout>

    <LinearLayout
        android:layout_margin="10dp"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@drawable/rounded_circle"
        android:gravity="center"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="2"/>

    </LinearLayout>


</LinearLayout>

答案 1 :(得分:0)

我想我已经找到了最好的解决方案。解决方案是使用SCROLLVIEW以在5英寸屏幕上使用。

谢谢。

答案 2 :(得分:0)

您可以在滚动视图中使用约束布局,它将帮助您简化布局层次结构并显着提高性能。