สารบัญ:

แอพ Android ตอนที่ 1: หน้าจอเริ่มต้นโดยใช้ Fragments/Kotlin: 5 ขั้นตอน
แอพ Android ตอนที่ 1: หน้าจอเริ่มต้นโดยใช้ Fragments/Kotlin: 5 ขั้นตอน

วีดีโอ: แอพ Android ตอนที่ 1: หน้าจอเริ่มต้นโดยใช้ Fragments/Kotlin: 5 ขั้นตอน

วีดีโอ: แอพ Android ตอนที่ 1: หน้าจอเริ่มต้นโดยใช้ Fragments/Kotlin: 5 ขั้นตอน
วีดีโอ: Android Dev. Fragment ตอนที่ 1 : Fragment คืออะไรใช้ยังไง 2024, ธันวาคม
Anonim
Image
Image
Fragment Manager และ 3 หน้าจอ
Fragment Manager และ 3 หน้าจอ

สวัสดีอีกครั้ง, เป็นไปได้มากว่าคุณมีเวลาว่างที่บ้านเนื่องจากโควิด19 และคุณสามารถกลับไปดูหัวข้อที่คุณอยากเรียนรู้ในอดีตได้

การพัฒนาแอพ Android เป็นหนึ่งในนั้นสำหรับฉัน และฉันตัดสินใจลองอีกครั้งเมื่อไม่กี่สัปดาห์ก่อน

การเขียนโปรแกรมใน Kotlin ช่วยลดความพยายามในการเขียนโค้ดลงได้อย่างแน่นอนและช่วยให้ได้ผลลัพธ์ในเวลาอันสั้น มันเยี่ยมมาก!

ในชุดบทช่วยสอนนี้ ฉันจะอธิบายวิธีพัฒนา Tennis Score Tracker แอพนี้สามารถใช้ได้เมื่อคุณเล่นกับเพื่อนและ/หรือครอบครัว (คุณสามารถมอบแท็บเล็ตให้ลูกของคุณและทำให้เขา/เธอยุ่ง:)) แอพนี้อิงตามตัวอย่าง Kotlin Counter

กวดวิชามีส่วนต่อไปนี้:

ส่วนที่ 1: Splash Screen โดยใช้ Fragments (เราอยู่ที่นี่แล้ว)

ส่วนที่ 2: การกำหนดค่าการจับคู่ - Properties

ส่วนที่ 3: ตัวติดตามคะแนนการแข่งขัน

แนวคิดหลักคือการแบ่งแอปออกเป็น 3 หน้าจอที่แตกต่างกัน แต่ละหน้าจอจะเรียกหน้าจอถัดไป เมื่อเสร็จแล้วหรือเมื่อผู้ใช้กดปุ่มตามลำดับ

ในส่วนแรกนี้ ผมจะอธิบายวิธีสร้างหน้าจอแนะนำ -> ตรวจสอบวิดีโอด้านบน

เสบียง

คุณลักษณะของ Android ที่ใช้ในส่วนนี้:

  • ชิ้นส่วน
  • แอนิเมชั่น
  • การสั่นสะเทือน
  • เครื่องเล่นสื่อ
  • ผู้ฟัง

เครื่องมือที่จำเป็น:

  • Android Studio
  • Kotlin 1.3.61
  • API ระดับ 28

ทรัพย์สินที่จำเป็น

ไฟล์เสียงบี๊บ

ขั้นตอนที่ 1: การออกแบบประสบการณ์ผู้ใช้

มาอธิบายคุณสมบัติของหน้าจอ Intro กัน

  1. เราอยากได้แบบเต็มจอเป็นสีขาว
  2. เราต้องการให้หน้าจออยู่ในโหมดแนวนอนเสมอ
  3. เราต้องการสีข้อความโลโก้ของเราเป็นสีเทา
  4. เราต้องการสีลูกบอลของเราในโทนสีเขียว
  5. เราต้องการให้ข้อความโลโก้ของเราจางลง
  6. เราต้องการลูกเทนนิสเคลื่อนที่ในหน้าจอ (ลูกเด้ง)
  7. เราต้องการเล่นเสียงทุกครั้งที่ลูกบอลสัมผัสพื้นผิว
  8. เราต้องการกระตุ้นการสั่นของโทรศัพท์เมื่อมีการเล่นเสียง
  9. เราต้องการให้ระยะเวลาอินโทรน้อยกว่า 4 วินาที

ขั้นตอนที่ 2: Fragment Manager และ 3 หน้าจอ

Fragment Manager และ 3 หน้าจอ
Fragment Manager และ 3 หน้าจอ

มาย้อนนึกถึงแนวคิดหลักของแอพของเรากันเถอะ เราต้องการมี 3 หน้าจอ (บทนำ คุณสมบัติ และคะแนนการแข่งขัน) สำหรับสิ่งนี้เราจะใช้ Fragments ดังนั้นเราจึงต้องการ 3 อันสำหรับแต่ละหน้าจอ อ้างถึงข้อมูลโค้ดแรก

ในอันที่สอง เราจะพบว่าเราเรียกแฟรกเมนต์แรกของเราได้อย่างไร Splash Fragment เป็นส่วนที่ใช้สำหรับ Intro ของเรา

ขั้นตอนที่ 3: เค้าโครงหน้าจอแอพและบทนำ

เค้าโครงหน้าจอแอพและบทนำ
เค้าโครงหน้าจอแอพและบทนำ
เค้าโครงหน้าจอแอพและบทนำ
เค้าโครงหน้าจอแอพและบทนำ
เค้าโครงหน้าจอแอพและบทนำ
เค้าโครงหน้าจอแอพและบทนำ
  • เพื่อแก้ไขตำแหน่งของหน้าจอและละเว้นการหมุนของโทรศัพท์ เราจำเป็นต้องเพิ่มโค้ดต่อไปนี้ รูปภาพ 1 ใน AndroidManifest.xml
  • ในการลบ Action Bar ออกจากทุกหน้าจอ เราต้องเพิ่มโค้ดต่อไปนี้ รูปภาพ 2 ใน styles.xml
  • ในการที่จะดันแบบเต็มหน้าจอในทุกหน้าจอ เราต้องตั้งค่าสถานะบางอย่างดังในรูปที่ 3 โดยใช้ 2 วิธีที่แตกต่างกัน Oncreate() และ onWindowFocusChanged

ขั้นตอนที่ 4: การกำหนดโลโก้และบอล Syles

การกำหนดโลโก้และบอล Syles
การกำหนดโลโก้และบอล Syles
การกำหนดโลโก้และบอล Syles
การกำหนดโลโก้และบอล Syles
  • เรากำหนดไว้ก่อนข้อความของเราเป็นสีเทา ซึ่งทำได้ภายใต้ไฟล์ styles.xml อ้างถึงภาพที่ 1
  • เรากำหนดไว้เช่นกันว่าลูกบอลควรอยู่ในโทนสีเขียว สำหรับสิ่งนี้ เราสร้าง ball.xml ภายใต้โฟลเดอร์ที่ถอนได้ ตรวจสอบ Pic 2

ขั้นตอนที่ 5: คำอธิบายภาพเคลื่อนไหว

ฉันจะอธิบายตรรกะและลำดับของแอนิเมชั่นที่นี่ ฉันคิดว่ามันไม่เหมาะสมที่จะเพิ่มข้อมูลโค้ดที่นี่ คุณควรอ่านโค้ดด้วยตัวเองดีกว่า

แนวคิดของแอนิเมชั่นมีดังนี้:

  • หลังจากสร้างชิ้นส่วนแล้ว โลโก้ข้อความจะถูกสร้างขึ้นและเริ่ม
  • เมื่ออนิเมชั่นโลโก้ข้อความเสร็จสมบูรณ์ ลูกเทนนิสจะเรียกการเคลื่อนไหวแบบพาราโบลาครั้งแรก
  • เมื่อการเคลื่อนไหวพาราโบลาครั้งแรกเสร็จสิ้น เสียงจะเล่นและโทรศัพท์สั่น.. และการเคลื่อนไหวพาราโบลาถัดไปจะเรียก
  • เมื่อการเคลื่อนไหวพาราโบลาครั้งสุดท้ายเสร็จสิ้น และเสียง/การสั่นสะเทือนถูกดำเนินการ เราก็มาถึงจุดที่เรียกหน้าจอที่สองของเรา

หมายเหตุ: ฉันไม่ได้สร้างคลาสนามธรรมสำหรับแอนิเมชั่น เพราะฉันต้องการให้โค้ดเรียบๆ… อย่างน้อยก็ทำตามได้ง่ายขึ้นสำหรับฉัน:)

ฉันจะโพสต์ส่วนที่สองของซีรีส์ในวันถัดไป ติดตามฉันหากคุณชอบส่วนนี้ และถ้าไม่ ฉันยินดีที่จะรับคำติชมของคุณ

แนะนำ: