A felhasználói bevitel a felhasználó és a mobilalkalmazás közötti interakció alapja. A termék használhatósága az UITextField iOS-en, EditText Androidon és billentyűzetek mobilalkalmazásokban való helyes megvalósításától függ. Az Apple HIG szerint a felhasználói bevitel helytelen kezelése a negatív értékelések gyakori oka.
Főbb pontok
Felhasználói bevitel mobilalkalmazásokban az a folyamat, amikor a felhasználó adatokat továbbít az alkalmazásba az érintőképernyő és a virtuális billentyűzet segítségével. iOS-en a fő eszköz az UITextField; Androidon az EditText. A felhasználói bevitel magában foglalja a szövegmezőket, regisztrációs űrlapokat, keresési lekérdezéseket, telefonszámokat és megerősítő kódokat. A felhasználói bevitel megvalósításának minősége befolyásolja az űrlapkitöltés sebességét és a mobilalkalmazás konverzióját.
A felhasználói bevitel helytelen kezelése a mobilfejlesztésben érvényesítési hibákhoz, sérülékenységekhez és felhasználóvesztéshez vezet. A Statista (2025) szerint a felhasználók 67%-a törli a mobilalkalmazást két sikertelen beviteli kísérlet után. A helyes felhasználói bevitel megvalósítás magában foglalja a billentyűzettípus konfigurációját, érvényesítést, formázást és automatikus kitöltést. A mobilfejlesztésben ezek a szempontok mindkét platform által szabványosítottak.
Billentyűzet mobilalkalmazásokban iOS-en a keyboardType, Androidon az inputType segítségével konfigurálható. A felhasználói beállítások magukban foglalják az autokorrekciót, automatikus kitöltést és a biztonságos jelszóbevitelt. Az iOS Responder Chain és az Android fókusz vezérli a billentyűzet megjelenítését és elrejtését. A felhasználói bevitelhez mobilalkalmazásokban a Keyboard Avoidance kritikus — a tartalmat nem takarhatja el a billentyűzet.
iOS-en a fő felhasználói bevitel elemek az UITextField egysoros szöveghez és az UITextView többsoros szöveghez. Mindkettő támogatja az UITextFieldDelegate és UITextViewDelegate delegáltakat a szerkesztés kezdetének, módosításának és befejezésének kezeléséhez. A billentyűzet konfigurációja iOS mobilalkalmazásokban a keyboardType, returnKeyType és isSecureTextEntry tulajdonságokon keresztül történik.
A textContentType tulajdonság jelzi a rendszernek, hogy milyen adatok várhatók a mezőben — username, password, oneTimeCode, emailAddress. Ez engedélyezi az automatikus kitöltést a kulcstartóból és felgyorsítja a felhasználói bevitelt. A Secure Text Entry mezők esetén adja meg a .password értéket, hogy a jelszókezelő helyesen mentse a hitelesítő adatokat. A textContentType használata javítja a felhasználói bevitelt a mobilalkalmazásokban.
let textField = UITextField()
textField.placeholder = "Email"
textField.keyboardType = .emailAddress
textField.textContentType = .emailAddress
textField.autocorrectionType = .no
textField.becomeFirstResponder()
First Responder az aktív mező, amely eseményeket fogad a billentyűzetről. A becomeFirstResponder() meghívása megjeleníti a billentyűzetet, a resignFirstResponder() elrejti. A Responder Chain egymás után ellenőrzi, hogy egy elem képes-e kezelni az eseményt. Több mező esetén fontos a First Responder kezelése, hogy a billentyűzet ne maradjon nyitva. A felhasználói bevitelt a mobilalkalmazásokban a textFieldShouldReturn is kezeli — a Return megnyomása a következő mezőre vált.
Androidon az UITextField megfelelője az EditText, amely az inputType attribútumon keresztül támogatja az egysoros és többsoros módot. Material mezőkhöz használja a com.google.android.material könyvtár TextInputLayout elemét — lebegő súgót, karakterszámlálót és hibakezelést ad hozzá. A felhasználói bevitel Android mobilalkalmazásokban az inputType és imeOptions segítségével konfigurálható.
Az inputType attribútum határozza meg a billentyűzet típusát és a beviteli módot: text normál szöveghez, textPassword jelszavakhoz, number számjegyekhez, phone telefonbillentyűzethez. Az imeOptions az Enter gomb műveletét vezérli — Done, Next, Search, Send. Az értékeket bitenkénti VAGY segítségével kombinálja: text|textCapSentences. Az Android mobilalkalmazások billentyűzetei az autofillHints segítségével támogatják az automatikus kitöltést.
val editText = EditText(this)
editText.inputType = InputType.TYPE_CLASS_PHONE
editText.imeOptions = EditorInfo.IME_ACTION_DONE
editText.autofillHints = "phone"
val layout = TextInputLayout(this)
layout.hint = "Номер телефона"
layout.addView(editText)
A TextInputLayout.setError() hibaüzenetet jelenít meg a beviteli mező alatt. Kombinálja az azonnali érvényesítést a TextWatcher segítségével és a végső érvényesítést az űrlap elküldésekor. A felhasználói bevitel a mobilalkalmazásokban magában foglalja a fókuszt is — a requestFocus() aktivál egy mezőt és megjeleníti a billentyűzetet. Használja a clearFocus() függvényt a billentyűzet elrejtéséhez, amikor a felhasználói bevitel Androidon befejeződött.
Billentyűzet mobilalkalmazásokban nem takarhatja el a beviteli mezőket — ez alapvető UX követelmény. A Keyboard Avoidance a tartalom eltolásának technikája a billentyűzet megjelenésekor. iOS-en használja az UIResponder.keyboardWillShowNotification értesítést a billentyűzet méretének lekéréséhez és a scrollView eltolásához. Androidon adja meg az adjustResize értéket a manifestben vagy használja a CoordinatorLayout elemet. A billentyűzetek mobilalkalmazásokban eltérően vannak konfigurálva a két platformon, de a cél ugyanaz — a tartalom mindig látható.
iOS-eniratkozzon fel a keyboardWillShowNotification és keyboardWillHideNotification értesítésekre a NotificationCenter segítségével. A kezelőben szerezze be a billentyűzet méretét a userInfo-ból, és állítsa be a contentInset értéket az UIScrollView-n. Alternatív megoldásként használja az IQKeyboardManager könyvtárat, amely automatikusan kezeli az eltolást. A felhasználói bevitel iOS mobilfejlesztésben kötelező billentyűzetkezelést igényel a kényelmes UX érdekében.
Androidon a fő módszer a android:windowSoftInputMode="adjustResize" megadása a manifestben. Ez a jelző összenyomja az elrendezést a billentyűzet megjelenésekor. CoordinatorLayout esetén használjon Behavior-t, amely felemeli a gombokat és mezőket. Használja a ViewCompat.setOnApplyWindowInsetsListener függvényt a pontos margóvezérléshez. A billentyűzetet egy Android mobilalkalmazásban az OnGlobalLayoutListener is kezeli.
Felhasználói bevitel érvényesítése kötelező lépés az adatfeldolgozásban a mobilalkalmazásokban. Enélkül az alkalmazás helytelen adatokat kap, ami hibákhoz és sérülékenységekhez vezet. A felhasználói bevitel a mobilalkalmazásokban két megközelítést igényel: azonnali érvényesítést (minden karakternél) számokhoz és kódokhoz, valamint végső érvényesítést e-mailekhez és jelszavakhoz. Az Input Mask automatikusan formázza a telefont, dátumot és kártyaszámot.
Input Mask egy beviteli mintát határoz meg, amely alapján a szöveg automatikusan formázódik. Példa maszk egy orosz telefonszámhoz: "+7 (___) ___-__-__". iOS-en az Input Mask a textField(_:shouldChangeCharactersIn:replacementString:) delegált segítségével valósul meg. Androidon használjon InputFilter-t karakterpozíció követéssel. Nemzetközi számokhoz használja a Google libphonenumber könyvtárát.
func textField(
_ textField: UITextField,
shouldChangeCharactersIn range: NSRange,
replacementString string: String
) -> Bool {
guard let text = textField.text else { return true }
let masked = applyPhoneMask(text, mask: "+7 (***) ***-**-**")
textField.text = masked
return false
}
| Paraméter | iOS | Android |
|---|---|---|
| Egysoros mező | UITextField | EditText |
| Többsoros mező | UITextView | EditText + textMultiLine |
| Lebegő súgó | attributedPlaceholder | TextInputLayout |
| Billentyűzet típusa | keyboardType | inputType |
| Biztonságos bevitel | isSecureTextEntry | textPassword |
| Automatikus kitöltés | textContentType | autofillHints |
| Delegált vagy Listener | UITextFieldDelegate | TextWatcher |
| Érvényesítési hiba | Egyedi UILabel | TextInputLayout.setError() |
Gyakran Ismételt Kérdések
Hívja meg a becomeFirstResponder() függvényt az UITextField vagy UITextView objektumon. Az elrejtéshez használja a resignFirstResponder() függvényt. Győződjön meg róla, hogy a mező látható és nincs letiltva.
Az inputType határozza meg a billentyűzet típusát (szöveg, számjegyek, e-mail). Az imeOptions az Enter gomb műveletét vezérli (Done, Next, Search). Egymástól függetlenül működnek és gyakran kombinálják őket.
Használja a textField(_:shouldChangeCharactersIn:replacementString:) delegáltat és formázza a szöveget manuálisan. Vagy használja az InputMask könyvtárat olyan mintákkal, mint a "+7 ([000]) [000]-[00]-[00]".
Adja meg a android:windowSoftInputMode="adjustResize" értéket a manifestben. Ha CoordinatorLayout-ot használ, ellenőrizze a Behavior konfigurációját a gombok és mezők felemeléséhez.
iOS-en használja a textContentType = .oneTimeCode értéket. Androidon használja az autofillHints = "smsCode" értéket. A rendszer automatikusan kitölti a kódot az SMS-ből a fogadáskor.
Összefoglalás
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.