"ความรักต้องไม่พยายาม"
บันทึกการทำแอพฯแบบ Material Design พร้อม Transition บน Android KitKat
9 Aug 2014 22:04   [4909 views]

เมื่อวานมีเหตุที่ทำให้อยากรู้และเข้าใจปรัชญา Material Design มากขึ้น และ Motto ส่วนตัวของเราคือ Experience is the best teacher

ดังนั้น ...​ เลยลองทำจริงซะเลย ด้วยแอพฯ nuuneoi.com ที่มโนขึ้นมา

โดยว่าถึงปรัชญา Material Design แล้ว มีสองข้อที่สำคัญคือ

1) การสื่อความหมายของ UI Component และความแบนแบบมีชั้น (มีเงานั่นเอง)

2) Transition สื่อความหมาย (Motion provides meaning)

แต่ความท้าทายคือทั้งระบบเงาอัตโนมัติด้วยการกำหนดค่า Z ของ View และการทำ Transition แบบลื่นไหลไม่กระโดดไปมา นั้นมีแค่บน Android L เท่านั้น แต่ชีวิตจริงหนะมันไม่ได้จบที่ L แต่ถ้าทำแค่ L อ่ะชีวิตจบ (โอเคป่ะ) ดังนั้นก็เลยเริ่มทำทุกอย่างโดยคิดว่ามันไม่มีเครื่องมืออัตโนมัติใดๆ ทำด้วยมือออออ Base บน Android 4.0 (ความจริงมองไปกระทั่งว่าต้องใช้บน iOS ได้ด้วย)

เริ่มต้นด้วยการไปหาค่า Keyline และ Palette สีจากหน้า Metrics & Keylines และ Colors ของคัมภีร์ Material Design

พอขึ้นโครงหน้าตาต่างๆออกมาแล้ว ก็พบว่าวิธีที่ดีที่สุดในการทำตัว Drop Shadow ของส่วนต่างๆคือไปทำใน Photoshop แล้วตัดเป็น png มาทั้งชิ้นแล้วทำด้วยวิธีเดิมๆ

ในส่วน Transition ก็อาจจะปวดหัวหน่อย ต้อง Detect การ Scroll ของ ListView เพื่อปรับหน้าตาของตาม Step อย่างถูกต้องและลื่นไหล เช่นเดียวกับเมนูที่อยากจะทำให้มันเด้งวืบบบบจากจุดที่กดแล้วค่อยปรากฎมาเป็นเมนู (เพราะมันอยู่ในปรัชญา Material Design เหมือนกันว่าพลังของ UI Transition ควรจะมีต้นกำเนิดจาก User) นี่มัน Motion provides torturing ชัดๆ ...

ผลสุดท้ายจึงออกมาเป็นแอพฯ nuuneoi.com เพื่อทดสอบ Material Design ตามที่ตั้งใจไว้ ดังเน้~~~~~~

ก็คงเป็นการตอบคำถามกลายๆว่าจะทำ Material Design บน Android รุ่นก่อน L ได้มั้ยนะครับ ก็อย่างที่บอก มันเป็นแค่ปรัชญา ไม่ใช่สิ่งที่จำกัดว่าอยู่บนแพลตฟอร์มไหนๆ ทำบน iOS ก็ได้

ที่น่าจะทำไม่ได้คงเป็น Windows Phone เพราะฟังก์ชั่นการเข้าถึงข้อมูลต่างๆของ ListBox ค่อนข้างจำกัดอยู่ ไม่สามารถทำ Transition ให้มันลื่นเนียนติดนิ้วได้แบบ iOS และ Android ที่เปิดให้เข้าถึง ListBox ได้อย่างอิสระและสมบูรณ์แบบ

บทความที่เกี่ยวข้อง

Sep 6, 2014, 20:24
12118 views
เหตุอันใด Facebook Messenger จึงต้องขอ Permission ไปเยอะแยะมากมาย
Aug 5, 2014, 17:59
4480 views
มีอะไรใหม่สำหรับ Swift Language ใน Xcode 6 beta 5
0 Comment(s)
Loading