สถานะเปิดใช้ ปิดใช้ และกำลังโหลด
สะท้อนความพร้อมใช้งานในปุ่มของคุณ
สถานะเปิดใช้ ปิดใช้ และกำลังโหลด เป็นบทเรียน Jetpack Compose Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Jetpack Compose Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน
ปุ่มมีอารมณ์แตกต่างกัน
ปุ่มที่ดีควรสะท้อนความเป็นจริง: พร้อมใช้งาน ถูกระงับ หรือกำลังทำงาน Compose ช่วยให้คุณแสดงสถานะเหล่านี้ เพื่อให้ผู้ใช้รู้เสมอว่าสามารถทำอะไรได้บ้าง 🚦
พารามิเตอร์ enabled
ปุ่มทุกปุ่มรับแฟล็ก enabled หากกำหนดเป็น false ปุ่มจะเปลี่ยนเป็นสีเทาและไม่ตอบสนองต่อการแตะโดยอัตโนมัติ
Button(
onClick = { submit() },
enabled = false
) { Text("Submit") }ควบคุม enabled จากสถานะ
พลังที่แท้จริงคือการผูก enabled เข้ากับสถานะ เชื่อมเข้ากับการตรวจสอบความถูกต้อง เพื่อให้ปุ่มทำงานได้เฉพาะเมื่อข้อมูลที่ป้อนพร้อม
Button(
onClick = { submit() },
enabled = name.isNotBlank()
) { Text("Submit") }ปุ่มที่ปิดใช้งานหมายถึงถูกระงับ
ปุ่มที่ปิดใช้งานยังคงแสดงอยู่ ทำให้ผู้ใช้เห็นว่าการกระทำนั้นมีอยู่ ลักษณะที่จางลงจะสื่อว่าเหตุใดจึงยังทำไม่ได้โดยไม่ต้องแสดงข้อความข้อผิดพลาด
แสดงความคืบหน้าขณะทำงาน
สำหรับการกระทำที่ใช้เวลานาน ให้แสดงสถานะกำลังโหลด ติดตามค่าบูลีน แล้วเปลี่ยนป้ายกำกับเป็นตัวหมุนระหว่างที่งานกำลังทำงาน
var loading by remember { mutableStateOf(false) }ปิดใช้งานระหว่างการโหลด
ระหว่างการโหลด ให้กำหนด enabled = !loading เพื่อป้องกันไม่ให้ผู้ใช้แตะซ้ำและเริ่มการกระทำเดิมสองครั้ง
Button(
onClick = { loading = true },
enabled = !loading
) { Text("Save") }เปลี่ยนเป็นตัวหมุน
ภายในเนื้อหา ให้ตรวจสอบแฟล็ก: แสดง CircularProgressIndicator ขนาดเล็กขณะ loading และแสดงป้ายกำกับในกรณีอื่น
Button(onClick = { }, enabled = !loading) {
if (loading) CircularProgressIndicator(Modifier.size(18.dp))
else Text("Save")
}ลดขนาดตัวหมุน
ตัวหมุนเริ่มต้นมีขนาดใหญ่ จำกัดขนาดด้วย Modifier.size เพื่อให้พอดีกับตำแหน่งที่เคยแสดงป้ายกำกับ
CircularProgressIndicator(
modifier = Modifier.size(18.dp),
strokeWidth = 2.dp
)รีเซ็ตเมื่อเสร็จสิ้น
เมื่องานเสร็จสิ้น ให้กำหนด loading กลับเป็น false ป้ายกำกับจะกลับมา และปุ่มจะกดได้อีกครั้ง
onResult = { loading = false }สถานะช่วยป้องกันข้อผิดพลาด
enabled และ loading ทำงานร่วมกันเพื่อป้องกันการกระทำของคุณ: ไม่ให้แตะก่อนข้อมูลจะถูกต้อง และไม่ให้แตะซ้ำขณะงานกำลังทำงาน
สื่อสาร อย่าซ่อน
ควรปิดใช้งานปุ่มแทนการซ่อน ปุ่มที่มองเห็นแต่ปิดใช้งานจะช่วยสอนผู้ใช้ว่าต้องทำอย่างไรจึงจะปลดล็อกได้
ตรวจสอบอย่างรวดเร็ว
การบันทึกของคุณใช้เวลาสองวินาที และผู้ใช้ยังคงแตะซ้ำสองครั้ง
ทบทวน: ปุ่มที่มีสถานะ
คุณได้เรียนรู้การสะท้อนสถานะจริง: enabled ควบคุมตามความถูกต้อง ส่วนแฟล็ก loading แสดงความคืบหน้าและป้องกันการทำซ้ำ ปุ่มที่ซื่อตรง ผู้ใช้ก็มีความสุข 🎯
เรียนรู้ Kotlin ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “สถานะเปิดใช้ ปิดใช้ และกำลังโหลด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “สถานะเปิดใช้ ปิดใช้ และกำลังโหลด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Jetpack Compose Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “สถานะเปิดใช้ ปิดใช้ และกำลังโหลด”
สะท้อนความพร้อมใช้งานในปุ่มของคุณ คุณปฏิบัติ Jetpack Compose Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Jetpack Compose Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Jetpack Compose Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “สถานะเปิดใช้ ปิดใช้ และกำลังโหลด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Jetpack Compose Academy นี้ได้ไหม
ได้ บทเรียน Jetpack Compose Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- Button และ onClick
- ปุ่มข้อความ ปุ่มมีเส้นขอบ และปุ่มไอคอน
- สถานะเปิดใช้ ปิดใช้ และกำลังโหลด
- clickable บน Composable ใด ๆ