สร้างระบบการออกแบบแบบกำหนดเอง
ขยายธีมด้วยตัวกำหนดรูปแบบของคุณเอง
สร้างระบบการออกแบบแบบกำหนดเอง เป็นบทเรียน Jetpack Compose Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Jetpack Compose Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Jetpack Compose Academy มีบทเรียนทั้งหมด 4 บทเรียน
ก้าวข้ามค่าเริ่มต้น
แบรนด์จริงต้องการมากกว่าสิ่งที่ Material มีให้ในตัว ระบบการออกแบบจะรวมสี ตัวอักษร รูปร่าง และโทเคนเพิ่มเติมไว้ในธีมที่นำกลับมาใช้ใหม่ได้หนึ่งชุด 🏗️
ห่อหุ้ม MaterialTheme
เริ่มต้นด้วยการเขียน Composable AppTheme ของคุณเองเพื่อกำหนดค่า MaterialTheme ทำให้ทั้งแอปมีจุดเริ่มต้นที่มีชื่อและเป็นหนึ่งเดียว
@Composable
fun AppTheme(content: @Composable () -> Unit) { /* ... */ }ส่งโทเคนของคุณเข้าไป
ภายใน AppTheme คุณส่ง colorScheme รูปแบบตัวอักษร และรูปร่างที่กำหนดเองให้ MaterialTheme เพื่อให้ทุกหน้าจอสืบทอด แบรนด์ของคุณโดยอัตโนมัติ
MaterialTheme(
colorScheme = brandColors,
typography = brandType,
shapes = brandShapes
) { content() }Material ไม่มีโทเคนบางรายการ
ค่าบางอย่างของแบรนด์ เช่น สีเขียวสำหรับความสำเร็จหรือหน่วยระยะห่างแบบกำหนดเอง ไม่มีบทบาทใน Material คุณจึงเพิ่มค่าเหล่านี้เป็น โทเคนเพิ่มเติมของคุณเอง
เก็บสีเพิ่มเติม
คุณรวมสีเพิ่มเติมไว้ในคลาสข้อมูลขนาดเล็ก ซึ่งเป็นที่เก็บค่าของแบรนด์อย่างเป็นระเบียบสำหรับค่าที่ Material ไม่มีให้มาโดยตรง
data class BrandColors(
val success: Color,
val warning: Color
)CompositionLocal
หากต้องการส่งโทเค็นแบบกำหนดเองลงไปตามทรีโดยไม่ต้องส่งพารามิเตอร์ คุณจะใช้ CompositionLocal ซึ่งเป็นกลไกค่าแอมเบียนต์ในตัวของ Compose
สร้าง Local
คุณประกาศ staticCompositionLocalOf พร้อมค่าเริ่มต้น เพื่อสร้างช่องทางที่ Composable ใด ๆ ก็สามารถอ่านสีแบรนด์ของคุณได้
val LocalBrand = staticCompositionLocalOf { defaultBrand }จัดเตรียมค่า
ใน AppTheme คุณครอบเนื้อหาด้วย CompositionLocalProvider โดยส่งโทเค็นแบรนด์ของคุณเข้าไปในทรีพร้อมกับ MaterialTheme
CompositionLocalProvider(LocalBrand provides brand) {
MaterialTheme(/* ... */) { content() }
}อ่านโทเค็นแบบกำหนดเอง
จาก Composable ใด ๆ ที่อยู่ด้านล่าง คุณสามารถอ่าน LocalBrand.current เพื่อดึงค่าแบบกำหนดเองได้ เช่นเดียวกับที่ MaterialTheme เปิดเผยค่าของตัวเอง
val success = LocalBrand.current.successสร้าง API ที่ใช้งานง่าย
หลายทีมเปิดเผยออบเจ็กต์เพื่อให้การเรียกใช้อ่านได้เหมือน AppTheme.brand.success ซึ่งเป็นส่วนหน้าที่ใช้งานง่ายสำหรับ CompositionLocal ที่อยู่เบื้องหลัง
แหล่งความจริงเดียว
ตอนนี้สี แบบอักษร รูปร่าง และโทเค็นแบบกำหนดเองทั้งหมดไหลมาจากธีมเดียว ทำให้แอปมีความสอดคล้องและปรับเปลี่ยนต่อได้อย่างราบรื่น ✨
ตรวจสอบอย่างรวดเร็ว
คุณต้องใช้สีแบรนด์ที่ Material ไม่มีบทบาทรองรับ และต้องการแชร์ให้ใช้ได้ทั่วทั้งแอป คุณควรเลือกใช้อะไร
สรุป: ธีมของคุณเอง
คุณครอบ MaterialTheme ไว้ใน AppTheme เพิ่มโทเค็นอื่น ๆ ผ่าน CompositionLocal และมอบแหล่งความจริงเดียวที่สะท้อนแบรนด์ให้แอปของคุณ 🎉
เรียนรู้ 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 ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “สร้างระบบการออกแบบแบบกำหนดเอง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Jetpack Compose Academy นี้ได้ไหม
ได้ บทเรียน Jetpack Compose Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- MaterialTheme และชุดสี
- ตัวกำหนดรูปแบบตัวอักษรและรูปทรง
- โหมดมืดและสีแบบไดนามิก
- สร้างระบบการออกแบบแบบกำหนดเอง