Tworzenie aplikacji mobilnych Android
Widgety Widget = kontrolka Dziedziczą od klasy View
<. xml version="1. 0" encoding="utf-8" <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>
Przycisk <Button xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/button" android:text="" android:layout_width="fill_parent" android:layout_height="fill_parent"/>
Identyfikator obiektu android:id="@+id/button" android:text="@string/hello"
Inicjalizacja @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); btn=(Button)findViewById(R.id.button); btn.setOnClickListener(this); updateTime(); }
Przypisanie zdarzenia w xml <Button android:onClick="someMethod" ... /> W pliku .java public void someMethod(View theButton) { // kod funkcji }
TextView <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Text wyswietlany przez obiekt TextView" />
Inne atrybuty dla TextView android:typeface: ustawia typeface etykiety (np.,monospace) android:textStyle: Styl textu pogrubienie (bold), pochylenie (italic), lub pogurbione i pochylone (bold_italic) android:textColor: Ustawiw kolor textu w formacie RGB (np., #FF0000 - czerwony)
ImageView, ImageButton <ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/icon" android:layout_width="fill_parent" android:layout_height="fill_parent" android:adjustViewBounds="true" android:src="@drawable/molecule" />
EditText android:autoText: Ustawia automatyczną kontrolę poprawności pisania android:capitalize: Ustawienie pisania pierwszej litery jako Kapitalika android:digits: Ustawia pole w tryb liczbowy (akceptuje tylko liczby) android:singleLine: Ustwienie trybu pojedynczej linii tekstu (true/false)
EditText <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/field" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="false" /> public class FieldDemo extends Activity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); EditText fld=(EditText)findViewById(R.id.field);\ fld.setText("Licensed under the Apache License, Version 2.0 " + "(the \"License\"); you may not use this file " + "except in compliance with the License. You may " + "obtain a copy of the License at " + "http://www.apache.org/licenses/LICENSE-2.0"); }
CheckBox <?xml version="1.0" encoding="utf-8"?> <CheckBox xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/check" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Ten checkbox jest niezaznaczony" />
CheckBox Obsluga zdarzeń public class CheckBoxDemo extends Activity implements CompoundButton.OnCheckedChangeListener { CheckBox cb; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); cb=(CheckBox)findViewById(R.id.check); cb.setOnCheckedChangeListener(this); } public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { cb.setText("This checkbox is: checked"); else { cb.setText("This checkbox is: unchecked");
RadioButton, RadioGroup check(): Sprawdza wybrany radio button z wykorzystaniem jego id (np. group.check(R.id.radio1)) clearCheck(): „czyści” wszystkie radiobuttony w grupie getCheckedRadioButtonId(): Pobiera id zaznaczonego radio buttona (-1 jeśli żaden nie został wybrany)
<. xml version="1. 0" encoding="utf-8" <?xml version="1.0" encoding="utf-8"?> <RadioGroup xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <RadioButton android:id="@+id/radio1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Rock" /> <RadioButton android:id="@+id/radio2" android:text="Scissors" /> <RadioButton android:id="@+id/radio3" android:text="Paper" /> </RadioGroup>
Inne właściwości widgetów android: visibility: Kontroluje widoczność widgetu android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight, android:nextFocusUp: Kontrilują kolejność uzyskiwania fokusa w przypadku użycia D-Pada, trackaball itp. android:contentDescription: Może być wykorzystywane przez narzędzia dla osób niewidomych odpowiednik atrybutu alt w znaczniki <img> w html
Metody Widgetów setEnabled(), isEnabled() requestFocus(), isFocused()
Nawigacja po drzewie widgetów getParent(): Odnajduje rodzica widgetu lub kontener w którym się on znajduje findViewById(): Znajduje widget potomny (umieszczony w danym kotenerze) dla zadanego ID getRootView(): Znajduje główny kontener całego activity ustawiony przez setContentView()