Etkin, Devre Dışı ve Yükleniyor Durumları
Kullanılabilirliği düğmelerinize yansıtın.
Etkin, Devre Dışı ve Yükleniyor Durumları, CoddyKit'te ücretsiz bir Jetpack Compose Academy dersidir. Bu, 4 dersinin 3. 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, Jetpack Compose Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Jetpack Compose Academy kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Buttons Have Moods
A good button reflects reality: ready, blocked, or working. Compose lets you express these states so users always know what is possible. 🚦
The enabled Parameter
Every button takes an enabled flag. Set it to false and the button greys out and ignores taps automatically.
Button(
onClick = { submit() },
enabled = false
) { Text("Submit") }Drive enabled From State
The real power is binding enabled to state. Tie it to validation so the button only activates when input is ready.
Button(
onClick = { submit() },
enabled = name.isNotBlank()
) { Text("Submit") }Disabled Means Blocked
A disabled button still appears, so users see the action exists. Its faded look signals why not yet without an error message.
Show Progress While Working
For slow actions, show a loading state. Track a boolean and swap the label for a spinner while the work runs.
var loading by remember { mutableStateOf(false) }Disable During Loading
While loading, set enabled = !loading so users cannot double-tap and fire the same action twice.
Button(
onClick = { loading = true },
enabled = !loading
) { Text("Save") }Swap In a Spinner
Inside the content, branch on the flag: show a small CircularProgressIndicator when loading, the label otherwise.
Button(onClick = { }, enabled = !loading) {
if (loading) CircularProgressIndicator(Modifier.size(18.dp))
else Text("Save")
}Size the Spinner Down
The default spinner is large. Constrain it with a Modifier.size so it fits neatly where the label used to sit.
CircularProgressIndicator(
modifier = Modifier.size(18.dp),
strokeWidth = 2.dp
)Reset When Done
When the work finishes, set loading back to false. The label returns and the button becomes tappable again.
onResult = { loading = false }States Prevent Mistakes
Together, enabled and loading guard your actions: no taps before input is valid, no duplicate taps while work is in flight.
Communicate, Don't Hide
Prefer disabling over hiding a button. A visible-but-disabled control teaches users the path to unlock it.
Quick Check
Your save action takes two seconds and users keep double-tapping it.
Recap: Stateful Buttons
You learned to reflect reality: enabled gates by validity, a loading flag shows progress and blocks repeats. Honest buttons, happy users. 🎯
Sıkça Sorulan Sorular
“Etkin, Devre Dışı ve Yükleniyor Durumları” dersi ücretsiz mi?
Evet — “Etkin, Devre Dışı ve Yükleniyor Durumları” 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 Jetpack Compose Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Jetpack Compose Academy kursu toplamda 4 dersten oluşur.
“Etkin, Devre Dışı ve Yükleniyor Durumları” dersinde ne öğreneceğim?
Kullanılabilirliği düğmelerinize yansıtın. Jetpack Compose Academy 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.
Jetpack Compose Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Jetpack Compose Academy, 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 3. dersidir.
“Etkin, Devre Dışı ve Yükleniyor Durumları” 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 Jetpack Compose Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Jetpack Compose Academy 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
- Button ve onClick
- Text, Outlined ve Icon Düğmeleri
- Etkin, Devre Dışı ve Yükleniyor Durumları
- Her Composable'da clickable