android:在tablelayout中布局组件的问题
我是android开发新手。在我正在使用的android应用程序中,我试图显示一个人的照片及其详细信息,如下所示。细节是从数据库中获取的,当然,我已经硬编码了。我对布局有意见。我使用了tableview布局(因为android版本8不支持网格布局)名称“&国家”在表的第1行中年龄、城市、状态在第2行 我尝试了相对和线性布局(尝试在它们之间切换),但没有成功。另外,尝试从堆栈溢出中找到几个答案 1.为什么表视图的右角有这么多未使用的空间?我试图将字段分布到表格视图的中心,两侧(页面中的顶部栏)留有一些间隙,但正如您所看到的,它似乎向左侧倾斜(因此在右侧留下了大量未使用的规范) 当我旋转时,情况会变得更糟(所有的东西都向左浮动;我希望场能够很好地隔开,并在边上留下一些间隙),正如您在这里看到的 这是布局文件android:在tablelayout中布局组件的问题,android,android-layout,Android,Android Layout,我是android开发新手。在我正在使用的android应用程序中,我试图显示一个人的照片及其详细信息,如下所示。细节是从数据库中获取的,当然,我已经硬编码了。我对布局有意见。我使用了tableview布局(因为android版本8不支持网格布局)名称“&国家”在表的第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>
试试这些代码
<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>
肖像画
风景画
尽量避免使用表格布局。在RelativeLayout内使用线性布局。为什么要求避免使用表格布局?对于这种情况,RelativeLayout不是很适合吗?RelativeLayout更适合于多种设备。我还听说TableLayout在API级别14及更高版本中被弃用,但我不确定。但唯一可以确定的是,RelativeLayout更适合于多屏幕。如果操作得当,也更容易操作。