0

我是android开发的新手。在正在开发的 android 应用程序中,我试图显示一个人的照片和他/她的详细信息,如下所示。详细信息是从数据库中获取的,但现在我已经硬编码了。布局有问题。我使用了 tableview 布局(因为 android 版本 8 不支持网格布局)。'name' & 'country' 在表格的第 1 行。“年龄”、“城市”、“状态”在第 2 行。

我尝试了如此相对和线性的布局(尝试在它们之间切换),但徒劳无功。另外,尝试从堆栈溢出中遵循几个答案。

1.为什么表格视图的右上角有这么多未使用的空间?我试图将字段分散到表格视图的中心,两侧有一些间隙(页面中的顶部栏),但它似乎向左倾斜,如您所见(因此在右侧留下了很多规范没用过)。

在此处输入图像描述

当我旋转时,情况会变得更糟(一切都向左浮动;我希望这些字段能够很好地间隔并在两侧留下一些间隙),正如你在这里看到的

在此处输入图像描述

这是布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#cccccc"
    android:orientation="vertical"
    tools:context=".MEFloorPlanDisplay" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="220dp"
        android:background="#666666"
        android:orientation="vertical" >

        <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TableRow
                android:id="@+id/tableRow1"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:orientation="horizontal" >

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/textView_1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:paddingBottom="10dip"
                            android:paddingLeft="10dip"
                            android:paddingRight="10dip"
                            android:paddingTop="10dip"
                            android:text="NAME"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_1_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="10dip"
                            android:paddingLeft="10dip"
                            android:paddingRight="10dip"
                            android:paddingTop="10dip"
                            android:text="John"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

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

                        <TextView
                            android:id="@+id/textView_2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="10dip"
                            android:paddingLeft="70dip"
                            android:paddingRight="10dip"
                            android:paddingTop="10dip"
                            android:text="COUNTRY"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_2_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="10dip"
                            android:paddingLeft="10dip"
                            android:paddingRight="10dip"
                            android:paddingTop="10dip"
                            android:text="AMERICA"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>
                </LinearLayout>
            </TableRow>

            <TableRow
                android:id="@+id/tableRow2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >

                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentLeft="true"
                        android:layout_alignParentTop="true"
                        android:layout_weight="33"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_3"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="5dip"
                            android:paddingLeft="10dip"
                            android:paddingRight="10dip"
                            android:paddingTop="15dip"
                            android:text="AGE"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_3_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="5dip"
                            android:paddingLeft="10dip"
                            android:paddingRight="10dip"
                            android:paddingTop="0dip"
                            android:text="37"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentTop="true"
                        android:layout_centerHorizontal="true"
                        android:layout_weight="33"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_4"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="5dip"
                            android:paddingTop="15dip"
                            android:text="CITY"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_4_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingBottom="5dip"
                            android:paddingTop="0dip"
                            android:text="CA"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_alignParentTop="true"
                        android:layout_weight="34"
                        android:gravity="right"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_5"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="right"
                            android:gravity="right"
                            android:paddingBottom="5dip"
                            android:paddingLeft="10dip"
                            android:paddingTop="15dip"
                            android:text="STATUS"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_5_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:lines="2"
                            android:maxLines="3"
                            android:paddingBottom="5dip"
                            android:paddingLeft="10dip"
                            android:paddingTop="0dip"
                            android:text="SINGLE"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>
                </RelativeLayout>
            </TableRow>
        </TableLayout>
    </LinearLayout>

    <!-- image view code -->

</LinearLayout>
4

2 回答 2

1

试试这个代码..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#cccccc"
    android:orientation="vertical"
    tools:context=".MEFloorPlanDisplay" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="220dp"
        android:background="#666666"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
             >

                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                    android:orientation="horizontal" >

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:layout_weight="0.4"
                        android:orientation="horizontal" >

                        <TextView
                            android:id="@+id/textView_1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:gravity="center"
                            android:text="NAME"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_1_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingLeft="5dp"
                            android:text="John"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content" 
                        android:layout_weight="0.6"
                        android:gravity="center"
                        >

                        <TextView
                            android:id="@+id/textView_2"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center"
                            android:text="COUNTRY"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_2_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:paddingLeft="5dp"                            
                            android:layout_gravity="center"
                            android:text="AMERICA"
                            android:textColor="#ffffff"
                            android:textSize="20dp" />
                    </LinearLayout>
                </LinearLayout>

            <LinearLayout
                android:id="@+id/tableRow2"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" 
                android:orientation="horizontal"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                >

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.33"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_3"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="AGE"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_3_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="37"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.33"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_4"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="CITY"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_4_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="CA"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.33"
                        android:layout_gravity="center"
                        android:gravity="center"
                        android:orientation="vertical" >

                        <TextView
                            android:id="@+id/textView_5"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="STATUS"
                            android:textColor="#cccccc"
                            android:textSize="18sp" />

                        <TextView
                            android:id="@+id/textView_5_value"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="SINGLE"
                            android:textColor="#ffffff"
                            android:textSize="20sp" />
                    </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

    <!-- image view code -->

</LinearLayout>

纵向

在此处输入图像描述

在风景

在此处输入图像描述

于 2013-11-04T10:14:33.527 回答
0

尽量避免使用 TableLayout。在 RelativeLayout 中使用 LinearLayouts。

于 2013-11-04T10:18:01.447 回答