如何根据屏幕增加表格行的高度?

art*_*ist 11 android android-layout

我想知道如何增加表格行的高度,使其在较大的屏幕尺寸中看起来相称.目前,所有textview和edittexts(放置在表格行中)都显示在屏幕的左侧,而不是占据整个屏幕(仅在较大的屏幕尺寸中).这是我正在使用的xml:

<ScrollView android:id="@+id/ScrollView01" 
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent" 
  xmlns:android="http://schemas.android.com/apk/res/android">     

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"

    android:layout_height="fill_parent" android:background="@color/black_background">

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"
    >
  <TableRow    android:id="@+id/TableRow01" 
               android:layout_width="fill_parent" 
               android:layout_height="wrap_content" >


  <TextView  android:id="@+id/name"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textSize="20sp"
             android:textColor="@color/white" 
             android:visibility="visible" 
             android:text="@string/Name" 
             android:layout_weight="0.2"
             android:layout_marginLeft="20dp" 
             android:layout_marginTop="22dp"/>

 <EditText   android:id="@+id/myName"
             android:layout_width="120dip"
             android:layout_height="wrap_content"
             android:textSize="20sp"
             android:visibility="visible" 
             android:layout_weight="0.3"
             android:inputType="number" 
             android:textColor="@color/black_background" 
             android:layout_marginLeft="10dp" 
             android:layout_marginTop="10dp"/>

 <TextView   android:id="@+id/error1"
              android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textSize="18sp"
             android:textColor="@color/red" 
             android:visibility="visible" 
             android:layout_weight="0.5"/>

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


  <TextView  android:id="@+id/address"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textSize="20sp"
             android:visibility="visible"
             android:textColor="@color/white" 
             android:text="@string/address" 
             android:layout_weight="0.2"
             android:layout_marginLeft="20dp" android:layout_marginTop="22dp"/>

 <EditText   android:id="@+id/address"
             android:layout_width="120dip"
             android:layout_height="wrap_content"
             android:textSize="20sp"
             android:visibility="visible" 
             android:inputType="number" 
             android:textColor="@color/black_background" 
             android:layout_weight="0.8"
             android:layout_marginLeft="10dp" android:layout_marginTop="10dp"/>

  </TableRow>
</TableLayout>           

    </LinearLayout>
 </ScrollView> 
Run Code Online (Sandbox Code Playgroud)

小智 23

使用

android:minHeight="60px"
Run Code Online (Sandbox Code Playgroud)

TableRow标签上

<TableRow android:id="@+id/task1" android:layout_width="fill_parent"
          android:minHeight="60px" android:layout_height="wrap_content">
Run Code Online (Sandbox Code Playgroud)


小智 6

请仔细阅读此链接,我认为它会帮助您. http://developerlife.com/tutorials/?p=307

请注意,a的孩子TableLayout不能指定他们的宽度 - 这总是如此FILL_PARENT.但是,高度可以由子项定义,默认为WRAP_CONTENT.如果孩子是a TableRow,那么身高总是如此WRAP_CONTENT.

所以,如果你使用TableLayoutTableRows你不能真的不能设置宽度/高度(width=FILL_PARENTheight=WRAP_CONTENT).

顺便说一句,TableRow只是LinearLayout的子类.您可以做的是指定要收缩和/或拉伸的列的行为.您还可以通过在TableLayout上调用setColumnCollapsed并将列索引传递给它来隐藏列.所有列索引都从0开始,您可以拥有空列.