Flutter Mobile Development · Ders

Odak, Klavye ve Girdi Kullanıcı Deneyimi

Akıcı bir yazma deneyimi için odağı, klavye türlerini, girdi eylemlerini ve erişilebilirliği yöneterek Flutter formlarınızı geliştirin.

4. ders / 413 adım

Odak, Klavye ve Girdi Kullanıcı Deneyimi, CoddyKit'te ücretsiz bir Flutter Mobile Development dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flutter Mobile Development öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flutter Mobile Development kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Why Input UX Matters

A working form is not enough — users expect the keyboard, focus order and actions to feel effortless. This lesson covers the polish that makes forms delightful.

FocusNode Basics

A FocusNode represents the focus state of a field. Create one per field you want to control.

final emailFocus = FocusNode();
final passwordFocus = FocusNode();

Attaching Focus

Pass the node to a TextField via the focusNode property.

TextField(
  focusNode: emailFocus,
  decoration: const InputDecoration(labelText: 'Email'),
);

Moving Focus Programmatically

Request focus on the next field when the user submits the current one.

TextField(
  focusNode: emailFocus,
  onSubmitted: (_) => FocusScope.of(context).requestFocus(passwordFocus),
);

Keyboard Types

Pick the right keyboardType so the keyboard matches the field.

  • TextInputType.emailAddress
  • TextInputType.number
  • TextInputType.phone
TextField(
  keyboardType: TextInputType.emailAddress,
);

Input Actions

The textInputAction controls the keyboard's action button — Next, Done, Search and more.

TextField(
  textInputAction: TextInputAction.next,
);

Obscuring & Toggling Passwords

Use obscureText for passwords, and a suffix icon to toggle visibility.

TextField(
  obscureText: hidden,
  decoration: InputDecoration(
    suffixIcon: IconButton(
      icon: Icon(hidden ? Icons.visibility : Icons.visibility_off),
      onPressed: () => setState(() => hidden = !hidden),
    ),
  ),
);

Input Formatters

inputFormatters restrict or transform input — for example digits only.

TextField(
  inputFormatters: [FilteringTextInputFormatter.digitsOnly],
);

Dismissing the Keyboard

Unfocus to dismiss the keyboard when the user taps elsewhere.

GestureDetector(
  onTap: () => FocusScope.of(context).unfocus(),
  child: const FormBody(),
);

Avoiding the Keyboard Overlap

Wrap your form in a scrollable so fields are not hidden behind the keyboard. A SingleChildScrollView handles this automatically.

SingleChildScrollView(
  padding: const EdgeInsets.all(16),
  child: Column(children: fields),
);

Disposing Focus Nodes

FocusNodes are resources — dispose them to avoid leaks.

@override
void dispose() {
  emailFocus.dispose();
  passwordFocus.dispose();
  super.dispose();
}

Quick Check

Which property sets the keyboard's bottom-right button to say Next?

Recap

You polished input UX:

  • FocusNode and moving focus on submit
  • keyboardType and textInputAction
  • Password toggles and input formatters
  • Dismissing the keyboard and avoiding overlap

These details turn a functional form into a great one.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Dart öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
22
Dersler
88

Sıkça Sorulan Sorular

“Odak, Klavye ve Girdi Kullanıcı Deneyimi” dersi ücretsiz mi?

Evet — “Odak, Klavye ve Girdi Kullanıcı Deneyimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flutter Mobile Development kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flutter Mobile Development kursu toplamda 4 dersten oluşur.

“Odak, Klavye ve Girdi Kullanıcı Deneyimi” dersinde ne öğreneceğim?

Akıcı bir yazma deneyimi için odağı, klavye türlerini, girdi eylemlerini ve erişilebilirliği yöneterek Flutter formlarınızı geliştirin. Flutter Mobile Development ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Flutter Mobile Development öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Flutter Mobile Development, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Odak, Klavye ve Girdi Kullanıcı Deneyimi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Flutter Mobile Development dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Flutter Mobile Development dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Form Widget'ı ve Denetleyiciler
  2. Girdi Doğrulama Teknikleri
  3. Özel Form Alanları
  4. Odak, Klavye ve Girdi Kullanıcı Deneyimi
← Flutter Mobile Development Sayfasına Dön