Felhasználói bevitel és billentyűzetek a mobilfejlesztésben: mi ez, összetevők és hogyan működik

Szerző: IT Sectr Megjelenés: 2026-07-15 Olvasási idő: 9 perc

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 a mobilalkalmazásokban iOS-en UITextField, Androidon EditText segítségével valósul meg.
  • Billentyűzetek mobilalkalmazásokban Keyboard Avoidance-t igényelnek — a tartalom eltolásának technikája a billentyűzet megjelenésekor.
  • Felhasználói bevitel érvényesítése azonnali (számok, kódok) és befejezéskori (e-mail, jelszó) részre oszlik.
  • Input Mask sablonokkal automatikusan formázza a telefonszámokat, dátumokat és bankkártyákat.
  • Text Content Type és autofillHints engedélyezi az automatikus kitöltést és javítja a felhasználói élményt.

Mi a felhasználói bevitel a mobilalkalmazásokban?

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.

Miért fontos a felhasználói bevitel helyes megszervezése

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.

A felhasználói bevitel fő összetevői

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.

Beviteli mezők iOS-en: UITextField és UITextView

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.

Text Content Type és automatikus kitöltés

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.

swift
let textField = UITextField()
textField.placeholder = "Email"
textField.keyboardType = .emailAddress
textField.textContentType = .emailAddress
textField.autocorrectionType = .no
textField.becomeFirstResponder()

Responder Chain és fókuszkezelés

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.

Beviteli mezők Androidon: EditText és TextInputLayout

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ó.

InputType és imeOptions

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.

kotlin
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)

Hibakezelés a setError segítségével

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: Keyboard Avoidance

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ó.

Keyboard Avoidance iOS-en

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.

Keyboard Avoidance Androidon

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 és formázása

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 iOS-en és Androidon

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.

swift
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
}

Az iOS és Android megközelítések összehasonlítása

ParaméteriOSAndroid
Egysoros mezőUITextFieldEditText
Többsoros mezőUITextViewEditText + textMultiLine
Lebegő súgóattributedPlaceholderTextInputLayout
Billentyűzet típusakeyboardTypeinputType
Biztonságos bevitelisSecureTextEntrytextPassword
Automatikus kitöltéstextContentTypeautofillHints
Delegált vagy ListenerUITextFieldDelegateTextWatcher
Érvényesítési hibaEgyedi UILabelTextInputLayout.setError()

Gyakran Ismételt Kérdések

Hogyan jeleníthetem meg programozottan a billentyűzetet iOS-en?

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.

Mi a különbség az inputType és az imeOptions között Androidon?

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.

Hogyan készíthetek egyedi Input Mask-ot iOS-en?

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]".

Miért takarja el a billentyűzet a beviteli mezőt Androidon?

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.

Hogyan kezeljem a megerősítő kód bevitelét SMS-ből?

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

  • Felhasználói bevitel a mobilalkalmazásokban iOS-en UITextField, Androidon EditText segítségével valósul meg keyboardType és inputType konfigurációval.
  • Billentyűzetek mobilalkalmazásokban Keyboard Avoidance-t igényelnek — tartalom eltolása az adjustResize segítségével Androidon és a keyboardWillShowNotification segítségével iOS-en.
  • Felhasználói bevitel érvényesítése azonnali (számok, kódok) és végső (e-mail, jelszó) részre oszlik, mindegyik saját eszközökkel.
  • Input Mask az UITextField delegált vagy InputFilter segítségével automatikusan formázza a telefonszámokat, dátumokat és bankkártyákat.
  • Text Content Type iOS-en és autofillHints Androidon engedélyezi az automatikus kitöltést a rendszerből és a jelszókezelőkből.
  • Felhasználói bevitel a mobilfejlesztésben magában foglalja a Responder Chain-t iOS-en és a fókuszkezelést Androidon.
  • Billentyűzet mobilalkalmazásokban az imeOptions, autocorrectionType és textContentType segítségével konfigurálható a kényelmes UX érdekében.

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.

Projekt megbeszélése