Android natív programozás stílus, téma használat, alarmozás

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” />

 

Kategória: Egyéb | A közvetlen link.