2012-03-30 2 views
0

В приложении макет камеры она имеет:Нужна помощь в понять layout_weight = "1"

camera.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/app_root" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
<include layout="@layout/preview_frame"/> 
<include layout="@layout/camera_control"/> 
</LinearLayout> 

и preview_frame.xml является

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/frame_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="1"> 
    ..... 
</RelativeLayout> 

и camera_control. xml is:

<ControlPanelLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/control_panel" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="76dp" 
    android:background="@drawable/bg_camera_pattern"> 
    ..... 
</ControlPanelLayout> 

My вопрос в том, что такое 'layout_weight = "1"' в файле preview_frame.xml? Я прочитал о layout_weight, но большую часть времени он использовал с layout_width = "0px" И в camera_control у него нет указателя макета.

Но в данном случае это не так.

спасибо.

ответ

1

Макет макета определяет, как заполняется оставшееся пространство в родительском состоянии после того, как все добавленные представления заняли основную область.

Весовые точки зрения в группе просмотра складываются, а оставшееся пространство разделяется пропорционально. Таким образом, два вида с шириной 0 и весами 1 и 2 будут суммироваться с весом 3, а один вид будет расширяться до 1/3 от размера представления, а другой - до 2/3.

Однако, если виды имеют ширину, они будут занимать это пространство, прежде чем раздавать дополнительное пространство. Таким образом, вид с шириной и весом займет занятое пространство, а взвешенный вид рядом с ним заполнит остаток, поэтому в нашем предыдущем примере весов 1 и 2, если вид веса 1 имеет ширину, он будет расширяться до дополнительно включают 1/3 пространства REMAINING, которое могло бы поставить его на большее, чем вид веса 2.

Немного расфокусированным, не имели кофе, но я надеюсь, что это поможет вам: P

0

Макет Макет - это относительный вес различных элементов макета. Если один элемент имеет вес 1, а другие имеют вес 0, первый элемент будет занимать все свободное пространство, кроме минимального минимума, необходимого другим. Если один элемент имеет вес 1 и другой вес 2, первый занимает 1/3 пробела, а другой 2/3.

С уважением.

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