tworzenie aplikacji mobilnych
DESCRIPTION
Tworzenie aplikacji mobilnych. Android Kontenery. LinearLayout. android:layout_width android:layout_height 125dip wrap_content fill_parent ( match_parent wprowadzone w android 2.2). Orientacja. android:orientation HORIZONTAL VERTICAL setOrientation (). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/1.jpg)
Tworzenie aplikacji mobilnych
AndroidKontenery
![Page 2: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/2.jpg)
LinearLayout
• android:layout_width• android:layout_height– 125dip– wrap_content– fill_parent (match_parent wprowadzone w
android 2.2)
![Page 3: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/3.jpg)
Orientacja
• android:orientation– HORIZONTAL – VERTICAL
• setOrientation()
![Page 4: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/4.jpg)
• android:layout_weightIdentyfikuje proporcjonalną wartość wolnej przestrzeni dla widgetu.
![Page 5: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/5.jpg)
Gravity
• android:layout_gravity– left, – center_horizontal, – right– center_vertical
![Page 6: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/6.jpg)
Weight
• android:layout_marginTop• android:layout_margin
![Page 7: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/7.jpg)
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">
<Buttonandroid:text="Fifty Percent"android:layout_width="fill_parent"android:layout_height="0dip"android:layout_weight="50"/><Buttonandroid:text="Thirty Percent"android:layout_width="fill_parent"android:layout_height="0dip"android:layout_weight="30"/><Buttonandroid:text="Twenty Percent"android:layout_width="fill_parent"android:layout_height="0dip"android:layout_weight="20"/>
</LinearLayout>
![Page 8: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/8.jpg)
<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent">
<RadioGroup android:id="@+id/orientation"android:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="5dip">
<RadioButtonandroid:id="@+id/horizontal"android:text="horizontal" /><RadioButtonandroid:id="@+id/vertical"android:text="vertical" />
</RadioGroup><RadioGroup android:id="@+id/gravity"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="wrap_content"android:padding="5dip">
<RadioButtonandroid:id="@+id/left"android:text="left" /><RadioButtonandroid:id="@+id/center"android:text="center" /><RadioButtonandroid:id="@+id/right"android:text="right" />
</RadioGroup></LinearLayout>
![Page 9: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/9.jpg)
import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.text.TextWatcher;import android.widget.LinearLayout;import android.widget.RadioGroup;import android.widget.EditText;public class LinearLayoutDemo extends Activity implements RadioGroup.OnCheckedChangeListener {RadioGroup orientation;RadioGroup gravity;@Override
public void onCreate(Bundle icicle) {super.onCreate(icicle);setContentView(R.layout.main);orientation=(RadioGroup)findViewById(R.id.orientation);orientation.setOnCheckedChangeListener(this);gravity=(RadioGroup)findViewById(R.id.gravity);gravity.setOnCheckedChangeListener(this);}public void onCheckedChanged(RadioGroup group, int checkedId) {switch (checkedId) {case R.id.horizontal:orientation.setOrientation(LinearLayout.HORIZONTAL);break;case R.id.vertical:orientation.setOrientation(LinearLayout.VERTICAL);break;case R.id.left:gravity.setGravity(Gravity.LEFT);break;case R.id.center:gravity.setGravity(Gravity.CENTER_HORIZONTAL);break;case R.id.right:gravity.setGravity(Gravity.RIGHT);break;}}
}
![Page 10: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/10.jpg)
RelativeLayout
![Page 11: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/11.jpg)
Względne położenie widgetów w kontenerze
• android:layout_alignParentTop: Wyrównuje górną krawędź widgetu do górnej krawędzi kontenera
• android:layout_alignParentBottom: Wyrównuje dolną krawędź widgetu do dolnej krawędzi kontenera
• android:layout_alignParentLeft: Wyrównuje lewą krawędź widgetu do lewej krawędzi kontenera
• android:layout_alignParentRight: Wyrównuje prawą krawędź widgetu do prawej krawędzi kontenera
• android:layout_centerHorizontal: Pozycjonuje widget poziomo w środku kontenera
• android:layout_centerVertical: Pozycjonuje widget pionowo w środku kontenera
• android:layout_centerInParent: Pozycjonuje widget jednocześnie poziomo i pionowo w środku kontenera
![Page 12: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/12.jpg)
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_toLeftOf: Określa, że widget powinien być położony po lewej stronie widgetu, na który wskazuje znacznik
• android:layout_toRightOf: Określa, że widget powinien być położony po prawejstronie widgetu, na który wskazuje znacznik
![Page 13: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/13.jpg)
Wyrównanie widgetu względem innego
• android:layout_alignTop: 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_alignBottom: Określa, że widget być powinien wyrównany swoją dolną krawędzią z dolną krawędzią widgetu, na który wskazuje znacznik
• android:layout_alignLeft: Określa, że widget być powinien wyrównany swoją lewą krawędzią z lewą krawędzią widgetu, na który wskazuje znacznik
• android:layout_alignRight: Określa, że widget być powinien wyrównany swoją prawą krawędzią z prawą krawędzią widgetu, na który wskazuje znacznik
• android:layout_alignBaseline: Określa wyrównanie dwóch widgetów wzgleem baseline (linia przebiegu tekstu)
![Page 14: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/14.jpg)
Przykład
• android:layout_toRightOf = "@id/widget_a"
• @id/widget_a identyfikator widgetu A.
![Page 15: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/15.jpg)
<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content">
<TextView android:id="@+id/label"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="URL:"android:layout_alignBaseline="@+id/entry"android:layout_alignParentLeft="true"/><EditTextandroid:id="@id/entry"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_toRightOf="@id/label"android:layout_alignParentTop="true"/><Buttonandroid:id="@+id/ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@id/entry"android:layout_alignRight="@id/entry"android:text="OK" /><Buttonandroid:id="@+id/cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_toLeftOf="@id/ok"android:layout_alignTop="@id/ok"android:text="Cancel" />
</RelativeLayout>
![Page 16: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/16.jpg)
<?xml version="1.0" encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent">
<Buttonandroid:text="I AM BIG"android:textSize="120dip"android:textStyle="bold"android:layout_width="fill_parent"android:layout_height="fill_parent"/><Buttonandroid:text="I am small"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"/>
</RelativeLayout>
![Page 17: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/17.jpg)
TableLayout
<TableRow><TextView android:text="URL:" /><EditTextandroid:id="@+id/entry"android:layout_span="3"/>
</TableRow>
![Page 18: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/18.jpg)
Kolumny
<TableRow><Buttonandroid:id="@+id/cancel"android:layout_column="2"android:text="Cancel" /><Button android:id="@+id/ok"
android:text="OK" /></TableRow>
![Page 19: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/19.jpg)
• android:stretchColumns• android:shrinkColumns• android:collapseColumns
• setColumnCollapsed()• setColumnShrinkable()
![Page 20: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/20.jpg)
<?xml version="1.0" encoding="utf-8"?><TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="1">
<TableRow><TextViewandroid:text="URL:" /><EditText android:id="@+id/entry"android:layout_span="3"/></TableRow>
<Viewandroid:layout_height="2dip"android:background="#0000FF" />
<TableRow><Button android:id="@+id/cancel"android:layout_column="2"android:text="Cancel" /><Button android:id="@+id/ok"android:text="OK" /></TableRow>
</TableLayout>
![Page 21: Tworzenie aplikacji mobilnych](https://reader036.vdocuments.site/reader036/viewer/2022062518/56814544550346895db21298/html5/thumbnails/21.jpg)
ScrollView<?xml version="1.0" encoding="utf-8"?><ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content">
<TableLayoutandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:stretchColumns="0">
<TableRow><Viewandroid:layout_height="80dip"android:background="#000000"/><TextView android:text="#000000"android:paddingLeft="4dip"android:layout_gravity="center_vertical" />
</TableRow><TableRow>
<Viewandroid:layout_height="80dip"android:background="#440000" /><TextView android:text="#440000"android:paddingLeft="4dip"android:layout_gravity="center_vertical" />
</TableRow> …..
</TableLayout></ScrollView>