Tworzenie aplikacji mobilnych Android Kontenery Linear Layout android

Tworzenie aplikacji mobilnych Android Kontenery

Linear. Layout • android: layout_width • android: layout_height – 125 dip – wrap_content – fill_parent (match_parent wprowadzone w android 2. 2)

Orientacja • android: orientation – HORIZONTAL – VERTICAL • set. Orientation()

• android: layout_weight Identyfikuje proporcjonalną wartość wolnej przestrzeni dla widgetu.

Gravity • android: layout_gravity – left, – center_horizontal, – right – center_vertical

Weight • android: layout_margin. Top • android: layout_margin

<? xml version="1. 0" encoding="utf-8"? > <Linear. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="fill_parent" > <Button android: text="Fifty Percent" android: layout_width="fill_parent" android: layout_height="0 dip" android: layout_weight="50" /> <Button android: text="Thirty Percent" android: layout_width="fill_parent" android: layout_height="0 dip" android: layout_weight="30" /> <Button android: text="Twenty Percent" android: layout_width="fill_parent" android: layout_height="0 dip" android: layout_weight="20" /> </Linear. Layout>

<? xml version="1. 0" encoding="utf-8"? > <Linear. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="fill_parent" > <Radio. Group android: id="@+id/orientation" android: orientation="horizontal" android: layout_width="wrap_content" android: layout_height="wrap_content" android: padding="5 dip"> <Radio. Button android: id="@+id/horizontal" android: text="horizontal" /> <Radio. Button android: id="@+id/vertical" android: text="vertical" /> </Radio. Group> <Radio. Group android: id="@+id/gravity" android: orientation="vertical" android: layout_width="fill_parent" android: layout_height="wrap_content" android: padding="5 dip"> <Radio. Button android: id="@+id/left" android: text="left" /> <Radio. Button android: id="@+id/center" android: text="center" /> <Radio. Button android: id="@+id/right" android: text="right" /> </Radio. Group> </Linear. Layout>

import android. app. Activity; import android. os. Bundle; import android. view. Gravity; import android. text. Text. Watcher; import android. widget. Linear. Layout; import android. widget. Radio. Group; import android. widget. Edit. Text; public class Linear. Layout. Demo extends Activity implements Radio. Group. On. Checked. Change. Listener { Radio. Group orientation; Radio. Group gravity; @Override public void on. Create(Bundle icicle) { super. on. Create(icicle); set. Content. View(R. layout. main); orientation=(Radio. Group)find. View. By. Id(R. id. orientation); orientation. set. On. Checked. Change. Listener(this); gravity=(Radio. Group)find. View. By. Id(R. id. gravity); gravity. set. On. Checked. Change. Listener(this); } public void on. Checked. Changed(Radio. Group group, int checked. Id) { switch (checked. Id) { case R. id. horizontal: orientation. set. Orientation(Linear. Layout. HORIZONTAL); break; case R. id. vertical: orientation. set. Orientation(Linear. Layout. VERTICAL); break; case R. id. left: gravity. set. Gravity(Gravity. LEFT); break; case R. id. center: gravity. set. Gravity(Gravity. CENTER_HORIZONTAL); break; case R. id. right: gravity. set. Gravity(Gravity. RIGHT); break; } } }

Relative. Layout

Względne położenie widgetów w kontenerze • android: layout_align. Parent. Top: Wyrównuje górną krawędź widgetu do górnej krawędzi kontenera • android: layout_align. Parent. Bottom: Wyrównuje dolną krawędź widgetu do dolnej krawędzi kontenera • android: layout_align. Parent. Left: Wyrównuje lewą krawędź widgetu do lewej krawędzi kontenera • android: layout_align. Parent. Right: Wyrównuje prawą krawędź widgetu do prawej krawędzi kontenera • android: layout_center. Horizontal: Pozycjonuje widget poziomo w środku kontenera • android: layout_center. Vertical: Pozycjonuje widget pionowo w środku kontenera • android: layout_center. In. Parent: Pozycjonuje widget jednocześnie poziomo i pionowo w środku kontenera

Położenie względem innego widgetu • android: layout_above: Określa, że widget powinien być położony ponad widgetem, na który wskazuje znacznik • android: layout_below: Określa, że widget powinien być położony pod widgetem, na który wskazuje znacznik • android: layout_to. Left. Of: Określa, że widget powinien być położony po lewej stronie widgetu, na który wskazuje znacznik • android: layout_to. Right. Of: Określa, że widget powinien być położony po prawejstronie widgetu, na który wskazuje znacznik

Wyrównanie widgetu względem innego • android: layout_align. Top: Określa, że widget powinien być wyrównany swoją górną krawędzią z górną krawędzią widgetu, na który wskazuje znacznik • android: layout_align. Bottom: Określa, że widget być powinien wyrównany swoją dolną krawędzią z dolną krawędzią widgetu, na który wskazuje znacznik • android: layout_align. Left: Określa, że widget być powinien wyrównany swoją lewą krawędzią z lewą krawędzią widgetu, na który wskazuje znacznik • android: layout_align. Right: Określa, że widget być powinien wyrównany swoją prawą krawędzią z prawą krawędzią widgetu, na który wskazuje znacznik • android: layout_align. Baseline: Określa wyrównanie dwóch widgetów wzgleem baseline (linia przebiegu tekstu)

Przykład • android: layout_to. Right. Of = "@id/widget_a" • @id/widget_a identyfikator widgetu A.

<Relative. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: layout_width="fill_parent" android: layout_height="wrap_content"> <Text. View android: id="@+id/label" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="URL: " android: layout_align. Baseline="@+id/entry" android: layout_align. Parent. Left="true"/> <Edit. Text android: id="@id/entry" android: layout_width="fill_parent" android: layout_height="wrap_content" android: layout_to. Right. Of="@id/label" android: layout_align. Parent. Top="true"/> <Button android: id="@+id/ok" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_below="@id/entry" android: layout_align. Right="@id/entry" android: text="OK" /> <Button android: id="@+id/cancel" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_to. Left. Of="@id/ok"

<? xml version="1. 0" encoding="utf-8"? > <Relative. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: layout_width="fill_parent" android: layout_height="fill_parent" > <Button android: text="I AM BIG" android: text. Size="120 dip" android: text. Style="bold" android: layout_width="fill_parent" android: layout_height="fill_parent" /> <Button android: text="I am small" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_center. In. Parent="true" /> </Relative. Layout>

Table. Layout <Table. Row> <Text. View android: text="URL: " /> <Edit. Text android: id="@+id/entry" android: layout_span="3"/> </Table. Row>

Kolumny <Table. Row> <Button android: id="@+id/cancel" android: layout_column="2" android: text="Cancel" /> <Button android: id="@+id/ok" android: text="OK" /> </Table. Row>

• android: stretch. Columns • android: shrink. Columns • android: collapse. Columns • set. Column. Collapsed() • set. Column. Shrinkable()

<? xml version="1. 0" encoding="utf-8"? > <Table. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: layout_width="fill_parent" android: layout_height="fill_parent" android: stretch. Columns="1"> <Table. Row> <Text. View android: text="URL: " /> <Edit. Text android: id="@+id/entry" android: layout_span="3"/> </Table. Row> <View android: layout_height="2 dip" android: background="#0000 FF" /> <Table. Row> </Table. Layout> </Table. Row> <Button android: id="@+id/cancel" android: layout_column="2" android: text="Cancel" /> <Button android: id="@+id/ok" android: text="OK" />

Scroll. View <? xml version="1. 0" encoding="utf-8"? > <Scroll. View xmlns: android="http: //schemas. android. com/apk/res/android" android: layout_width="fill_parent" android: layout_height="wrap_content"> <Table. Layout android: layout_width="fill_parent" android: layout_height="fill_parent" android: stretch. Columns="0"> <Table. Row> <View android: layout_height="80 dip" android: background="#000000"/> <Text. View android: text="#000000" android: padding. Left="4 dip" android: layout_gravity="center_vertical" /> </Table. Row> <View android: layout_height="80 dip" android: background="#440000" /> <Text. View android: text="#440000" android: padding. Left="4 dip" android: layout_gravity="center_vertical" /> </Table. Row> …. . </Scroll. View> </Table. Layout>
- Slides: 21