HTML

HTML

A BME Távközlési és Médiainformatikai Tanszék hallgatói és oktatói blogja az Android platformról.

Facebook

Friss topikok

  • édesebb élet: www.gsmbutik.hu/sony-xperia-xz2-tukrozodes-es-uva-uvb-mentes-uvegfolia-tempered-glass (2018.05.18. 01:30) Kutatók éjszakája - 2014
  • lajthabalazs: Nem admoboztam azóta. Hétfőn lesz egy elóadás az Ericssonos Android klubbon, ahol lesz szó a témár... (2011.12.03. 07:09) Reklám-tapasztalatok
  • A Tata: szeretnék érdeklődni, hogy nem diák is jelentkezhet-e ilyen tanfolyamra; akár programozói előképze... (2011.02.03. 16:51) Újévi gyorstalpaló 2. - Adatok
  • lajthabalazs: 80 requestnél jött egy reklám, aztán semmi. Most 120 requestem volt, és két telefonon is 3G-n is ... (2011.02.02. 20:52) Don't download!
  • EvilHedgehog: Tanulságos. Ezért nem raktam én sem főzött ROM-ot a Galaxy S-re pedig csábító volt... (2011.01.29. 10:29) Softkeyboard

Linkblog

Softkeyboard

2011.01.26. 11:32 lajthabalazs

A legutóbb publikált alkalmazásom béta tesztelése közben derült ki, hogy billentyűzet és billentyűzet közt van különbség. Nevezetesen hogy amíg a Vialin ROM, ami fölött fejlesztek, és az emulátor támogatják a 12 gombos numerikus bevitelt és az API által előírt IME_ACTION - öket, addig minderre a HTC Sense magasról tesz. Úgyhogy a tegnapi Pizza Calculator release elég csúnya véget ért.

Az API EditorInfo osztálya hét Action-t definiál. Ezek az akciók az Enter megnyomásával születnek, jellemzően minden akcióhoz tartozik egy felirat is, amely az Enter gombon jelenik meg, ha a fejlesztő a hagyományostól eltérő akciót adott meg. Ez a rendszer a szövegbevitel egyébként igen kellemetlen módját hivatott enyhíteni. Nézzünk néhány tipikus felhasználási módot!

Ha több mezőben szeretnénk egy soros szöveget bevitetni a felhasználóval, az IME_ACTION_NEXT a megfelelő eszköz. Ez az Entert egy Next gombbal helyettesíti, amivel a billentyűzet elrejtése vagy át-tapintás nélkül tudunk végiglépkedni a szövegmezőkön.

A pizzakalkulátorban egy mező editálásának eredményeképpen indul a számítás. Ezt fapadosan meg lehet oldani a mező után elhelyezett gombbal. De mennyivel kényelmesebb, ha a billentyűzet kínálja fel a Done funkciót! Ezt az IME_ACTION_DONE megadásával érhetjük el.

Ha a felületünk tartalmaz egy kereső-mezőt, és több más felületi elemet, akkor megtehetjük, hogy az IME_ACTION_SEARCH beállításábal jelezzük a felhasználónak, hogy az editálás befejeztével indul a keresés.

Természetesen ezekre az akciókra figyelni kell, nem automatikusak. Miután a layout XML-ben megadtuk a szövegdobozhoz elvárt beviteli akciót, egy OnEditorActionListener-t kell ráállítanunk a mezőre, hogy az eseményekre válaszolni tudjon az alkalmazás. Ha a felhasználó a vissza-gombbal tünteti el a billentyűzetet, akkor ilyen esemény nem generálódik. A szövegdoboz ott marad félig editálva.

Mindezek nem működnek maradéktalanul a 2.1-es HTC Sense billentyűzetével - Done-t kérve is az Enter gomb marad, annak teljes funkcionalitásával. Így kerülőutat kellett választanom, és egy OnKeyListener hozzáadásával az Enter billentyű lenyomását is figyelnem.

A történet tanulsága, hogy nem csak a képernyő-arányok változhatnak eszközről eszközre, hanem a ROM funkcionalitása is. Mivel a felhasználók általában nem rootolják a telefonjukat és nem töltenek fel "utángyártott" ROM-okat, ezért ha egy konkrét készülékre fejlesztünk, érdemes annak a gyári ROM-os változatával is ránézni legalább egyszer a felületre.

1 komment

Címkék: tesztelés android htc sense soft keyboard

A bejegyzés trackback címe:

https://edudroid.blog.hu/api/trackback/id/tr362614635

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

EvilHedgehog 2011.01.29. 10:29:46

Tanulságos. Ezért nem raktam én sem főzött ROM-ot a Galaxy S-re pedig csábító volt...
süti beállítások módosítása