Проблема с относительным / макетом таблицы - PullRequest
1 голос
/ 22 февраля 2011

Я хочу, чтобы 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 голосов
/ 22 февраля 2011

Ну, вы можете сделать это с RelativeLayout, я не понимаю, почему вы говорите, что не можете это сделать. Но если вы хотите использовать его с TableLayout, то вам нужно иметь два TableRow, один с TextView с, а другой с EditText. Таким образом, дети TableLayout будут TableRow s.

Тем не менее, я бы порекомендовал вам использовать RelativeLayout, он дешевле, потому что он не должен рассчитывать вещи и только один уровень в стеке.

Сначала вы можете определить свои три EditText, затем три TextView над каждым EditText, и если вы хотите, чтобы они были отцентрированы, то вы можете выровнять левую и правую стороны по EditText с. Надеюсь, это поможет, дайте мне знать, что вы думаете

...