相对/表格布局问题

时间:2011-02-22 18:29:30

标签: android layout relativelayout tablelayout

我希望TextView始终位于所有设备屏幕上的每个EditText的顶部。首先,我尝试用RelativeLayout做一些事情,但它没有用。现在,我正在尝试使用TableLayout。我希望您对此用途的最佳布局有所了解!

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:stretchColumns="2"
     android:background="@drawable/back" >

     <TextView  android:id="@+id/mathimatika"
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content" 
          android:text="Mathimatika Kateuthinsis"
          android:textColor="#09074c"
          android:textSize="14px"
          android:gravity="center" />

     <TableRow>
         <TextView
              android:layout_column="1"
              android:text="Profwrika a"
              android:padding="13dip" 
              android:textColor="#09074c"
              android:textSize="10px"/>
        <TextView
             android:text="Profwrika b"
             android:gravity="center"
             android:textColor="#09074c"
             android:textSize="10px" />

        <TextView
             android:text="grapta"
             android:gravity="right"
             android:padding="13dip" 
             android:textColor="#09074c"
             android:textSize="10px" />
    </TableRow>
    <RelativeLayout>
          <EditText 
              android:id="@+id/input11" 
              android:layout_width="60px"
              android:layout_height="wrap_content" 
              android:textSize="18sp"
              android:numeric="decimal|signed" 
              android:layout_below="@id/vathmos1"
              android:layout_marginLeft="13dip" />

         <EditText 
              android:id="@+id/input21" 
              android:layout_width="60px"
              android:layout_height="wrap_content" 
              android:textSize="18sp"
              android:numeric="decimal|signed"       
              android:layout_toRightOf="@id/input11"
              android:layout_below="@id/vathmos1"
              android:layout_marginLeft="25px" />

        <EditText 
              android:id="@+id/input31" 
              android:layout_width="60px"
              android:layout_height="wrap_content" 
              android:textSize="18sp"
              android:numeric="decimal|signed" 
              android:layout_toRightOf="@id/input21"
              android:layout_below="@id/vathmos1"
              android:layout_marginLeft="25px" />

    </RelativeLayout>
</TableLayout>

1 个答案:

答案 0 :(得分:0)

嗯,你可以用RelativeLayout来做,我不明白为什么你说你不能这样做。但是,如果您想将其与TableLayout一起使用,那么您需要有两个TableRow,一个使用TextView,另一个使用EditText。因此,TableLayout的孩子将是TableRow

但是,我建议你使用RelativeLayout,它更便宜,因为它不需要计算东西,只有堆栈中的一个级别。

您可以先定义三个EditText,然后定位每个TextView上方的三个EditText,如果您希望它们居中,那么您可以同时对齐两个EditText左侧和右侧是{{1}} s。 我希望这有帮助,让我知道你的想法