2009-07-08 4 views
2

Я хочу положить два TextView влево и одну кнопку справа внутри линейного макета, возможно ли это? Следующий мой код, где мне пришлось жестко кодировать левую кнопку, это негибкий. Возможно ли размещать детей, которые текут в разных направлениях?android LinearLayout

<LinearLayout 
android:id="@+id/widget43" 
android:layout_width="fill_parent" 
android:layout_height="100px" 
> 
<TextView 
android:id="@+id/tc_buttom_text1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Time elapsed" 
> 
</TextView> 
<TextView 
android:id="@+id/tc_buttom_text2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="00:00:00 00" 
> 
</TextView> 
<Button 
android:id="@+id/tc2_home" 
android:layout_width="70px" 
android:layout_height="wrap_content" 
android:layout_marginLeft="200px" 
android:layout_marginRight="10px" 
android:text="Home" 
android:layout_weight="0.5" 
> 
</Button> 
</LinearLayout> 

ответ

2

Я хочу, чтобы заложить два TextView к слева, и одна кнопка справа внутри линейной компоновки, это возможно?

Не с одним LinearLayout. Вам либо нужны два LinearLayout s (один для столбца из двух TextView s слева) или один RelativeLayout.

Возможно ли размещать детей, что течет в разные стороны?

Если по «разным направлениям» вы имеете в виду как вертикальные, так и горизонтальные одновременно, один LinearLayout может двигаться только в одном направлении. Используйте либо вложенные LinearLayout s, либо RelativeLayout.

0

LinearLayout имеет атрибут orientation. Попробуйте что-то вроде этого:

<LinearLayout 
    android:id="@+id/widget43" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="100px" 
> 
1

Вам нужно использовать макет таблицы. посмотрите пример таблицы в примерах API.

Table layout - with 'stretch columns' = 1, 
-- Table row - with width = fill_parent, 
    -- Text View, 
    -- Text View, 
    -- Button, 

Это будет держать свою правую кнопку толкнул к правому краю экрана

1

Либо использовать два линейных макет (один с горизонтальной ориентацией и другой с вертикальной ориентацией) или использовать относительный Layout. Относительная Компоновка сильнее, чем линейная и простой в использовании

0

использовать следующим:

<LinearLayout 
      android:id="@+id/widget43" 
      android:layout_width="fill_parent" 
      android:layout_height="100px" 
      android:layout_margin="16dp" 
      android:orientation="horizontal"> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <TextView 
        android:id="@+id/tc_buttom_text1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Time elapsed"></TextView> 

       <TextView 
        android:id="@+id/tc_buttom_text2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="10dp" 
        android:text="00:00:00 00"></TextView> 
      </LinearLayout> 

      <Button 
       android:id="@+id/tc2_home" 
       android:layout_width="70px" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="200px" 
       android:layout_marginRight="10px" 
       android:layout_weight="0.5" 
       android:text="Home"></Button> 
     </LinearLayout> 

Дополнительных Android Layouts Учебник и пример: http://www.viralandroid.com/2015/11/android-layouts.html