Az Android lehetővé teszi a felhasználói felület megkülönböztetését is az adott készülék valamilyen paramétere alapján. Android platformon a felhasználói felületet XML-erőforrásként is definiálhatjuk.
Ezen beállítások könyvtár név konvenciókkal létrehozott és megfelelő xml fájlokkal feltöltött struktúra biztosítsa.
A megfelelő XML paraméterek használatával a layoutban beállíthatjuk az elrendezés irányát, megadhatunk margó méretet az egyes gyermekek között, súlyok
kiosztásával dönthetünk arról, hogy a szabad helyeket hogyan töltsék ki a View objektumok, a grauity tulajdonság használatával a kívánt
irányba igazíthatjuk őket.
Nézettek:
LinearLayout:
ez az orientation (vertical vagy horizontal) tulajdonságától függően egymás mellett vagy egymás alatt tudja elhelyezni az eView objektumokat/elemeket.
RelativeLayoutot:
Itt megadhatjuk az elemek egymáshoz képesti vagy a layouthoz viszonyított relatív helyzetét (pozícióviszonyát).
Beállítható viszonyok: egy megadott elem mellé, alá, a képernyő közepére, …
igazodjon. RelativeLayout használata esetén fontos, hogy egyedi azonosítót adjunk azoknak az elemeknek(hogy hivatkozni tudjunk rájuk), amelyekhez a többi komponenst igazítani akarjuk.
—- poziciónállás, a megadott elem mellé helyez:
android:layout_toStartOf=”@id/elem01″ — Hivatkozott kezdetéhez
android:layout_toEndOf=”@id/elem02″ — Hivatkozott végéhez
android:layout_below=”@id/elem1″ — Hivatkozott alatt
android:layout_toRightOf=”@id/elem2″ — Hivatkozott jobb oldalán
android:layout_toLeftOf=”@id/elem3″ — Hivatkozott bal oldalán
android:layout_above=”@+id/elem4″ — Hivatkozott felett
—- Rendezés/igazítás (A hivatkozott oldalához igazít):
android:layout_alignParentLeft=”true” — Hivatkozotthoz balról igazít
android:layout_alignParentRight=”true” — Hivatkozotthoz jobbról igazít
android:layout_alignParentStart=”true” — Hivatkozott kezdetéhez igazít
android:layout_alignParentEnd=”true” — Hivatkozott végéhezhez igazít
android:layout_alignParentTop=”true” — Hivatkozott tetejéhez igazít
—- A hivatkozott egyik oldalához igazít:
android:layout_alignBaseline=”@+id/elem5″ — Hivatkozotthoz rá igazít
android:layout_alignBottom=”@+id/elem6″ — Hivatkozott alá igazít
android:layout_alignStart=”@+id/elem7″ — Hivatkozott kezdetéhez igazít
android:layout_alignEnd=”@+id/elem8″ — Hivatkozott végéhez igazít
android:layout_alignLeft=”@+id/elem9″ — Hivatkozott bal oldalához igazít
android:layout_alignRight=”@+id/elem10″ — Hivatkozott jobb oldalához igazít
android:layout_alignTop=”@+id/elem11″ — Hivatkozott tetejéhez igazít
android:layout_alignBottom=”@+id/elem12″ — Hivatkozott aljához igazít
A padding (view/elem és tartalma közötti mező) és a margin (a view/elem körüli szabad tér) megadásával az elrendezés tovább hanfolható.
Méret:
- xlarge: 960dp x 720dp
- large: 640dp x 480dp
- normal: 470dp x 320dp
- small: 426dp x 320dp
Sűrűség:
- ldpi
- mdpi
- hdpi
- xhd pi
- nodpi (a rendszer ezt nem méretezi át)
- tvdpi
Irány/Orientáció:
- land (fekvő nézet)
- port (álló nézet)
A képernyő orientációja lehet álló (portrait) vagy fekvő (landscape).
Használható erőforrások és könyvtáraik:
- Felületleírások: res/layout
- Szöveges erőforrás: res/values l strings.xml
- Képerőforrások: res/drawable
- Animációk: res/anim
- Menük: res/menu
Beépített betűképek (android:typeface) :
- normal 0
- sans 1
- serif 2
- monospace 3
Az objektumok méreteit többféleképpen megadhatjuk:
- px (pixels),
- dp (density-independent pixels),
- sp (scaled pixels)
Az Activity felugróablak-jellegű megjelenítéséhez manifest beállítás kell.
<activity android:name=”.Mie_Activity”
android:label=”@string/app_name”
android:theme=”@android:style/Theme-Dialog”>
</activity>
Alarm/jelzés kezelés
—- alap beállítás példány azonosító: 0
Intent i = new Intent(this, MyService.class);
PendingIntent pi = PendingIntent.getService(this, 0, i, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + AlarmManager.INTERVAL_DAY,
AlarmManager.INTERVAL_DAY, pi);
—Riasztás beállítás
Intent intent = new Intent(this, AlarmReceiverActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,
12345, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, setDate.getTimeInMillis(), pendingIntent);
—Riasztás törlés
Intent intent = new Intent(this, AlarmReceiverActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 12345, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.cancel(pendingIntent);
pendingIntent.cancel();
—– Riasztás beállítás ellenőrzés
void clickCheck(View v)
{
boolean alarmUp=false;
Intent intent = new Intent(this, AlarmReceiverActivity.class);
alarmUp = (PendingIntent.getActivity(this,12345, intent, PendingIntent.FLAG_NO_CREATE) != null);
if (alarmUp) {
Toast.makeText(getApplicationContext(), “Alarm beállítva”, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), “Alarm nincs beállítva”, Toast.LENGTH_SHORT).show();
}
}
Minta a formázás használatra (XML):
<Text View
android:textStyle=”italic|bold”
android:gravity=”center”
android:layout_width=”fill_parent”
android:layout_height=”wrap content”
android:autoLink=”all”
android:text=”Ez a szöveg serif betüvel dült vastagítottan és linkkel: http://mierdekel.hu oldalra.”
android:textSize=”14sp”
android:typeface=”serif” />