2012-04-15 3 views
1

Как это возможно для управления компоновкой? enter image description hereВыравнивание влево-вправо

Другими словами - один TextView выровнен с левой стороны, а второй справа. Конечно, красные макеты должны быть растянуты в соответствии с шириной экрана. Я не знаю, как это сделать самым приятным образом.

ответ

3

Вы можете использовать нижеследующую схему для вашего запроса ::

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:background="#ffffff" > 

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

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true"/> 

    </RelativeLayout> 

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

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true"/> 

    </RelativeLayout> 

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

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentLeft="true"/> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true"/> 

    </RelativeLayout> 

</LinearLayout> 
0

Вы можете использовать RelativeLayouts. Тогда просто расположить TextViews как

android:layout_alignParentRight="true" 

Вот ссылка для этого типа раскладок:

Android Relative Layout

0

Вы можете превратить весь вид в одну RelativeLayout и использовать layout_alignParentLeft, layout_alignParentRight придерживаться TextView к слева и справа от представления, а затем layout_alignBaseline, чтобы сохранить Textview на каждом боковом уровне. Затем layout_below, чтобы поместить следующую строку Textview.

В качестве альтернативы вы можете использовать LinearLayout для layout_width = "match_parent", а затем повернуть красное поле в RelativeLayout, используя тот же метод выше.

Однако я предлагаю вам проверить каждый тип макета, чтобы увидеть характеристику каждого контейнера, а затем решить, какой из них наиболее подходит для вашего вида в целом, но имейте в виду, что чем больше вид/макет, который у вас есть на экране, влияют на производительность некоторых устройств. :)

0

Вы можете использовать RelativeLayout, но один вид этих двух видов в одной строке должен иметь некоторую фиксированную ширину. Если вы уверены, что правильный вид не займет ширину больше некоторой ширины, вы также можете назначить wrap_content ширине, но если второе представление может иметь ширину экрана, тогда необходимо назначить некоторую фиксированную ширину для макета.

Так набор LayoutParams влево и вправо зрения следующим образом: LeftView:

layout_width = fill_parent, Layout_height = wrap_content, layout_toLeftOf = @ + ид/rightView,

SecondVIew:

layout_width = wrap_content, Layout_height = wrap_content, layout_alignParentRight = true

1
<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" 
    android:background="#ffffff" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true"/> 


     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_below="@+id/textView1"/> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true" 
      android:layout_below="@+id/textView2"/> 


     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentLeft="true" 
      android:layout_below="@+id/textView3"/> 

     <TextView 
      android:id="@+id/textView6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="TextView" android:layout_alignParentRight="true" 
      android:layout_below="@+id/textView4"/> 

</RelativeLayout> 
+0

Это будет работать, только если для каждой строки слева и справа 'TextView' имеют одинаковую высоту. – tir38

Смежные вопросы