ldpi , mdpi , hdpi และ xdpi เป็นอย่างไร ใน Screen android

ก่อนที่จะเข้าเรื่อง ldpi , mdpi , hdpi และ xdpi เป็นอย่างไร ใน Screen android  คืออะไร ? ขอปรับความรู้พื้นฐาน เกี่ยวกับ มือถือที่ใช้ระบบปฎิบัติการแอนดรอยด์ กันก่อน

แอนดรอยด์ เป็นระบบปฎิบัติการยอดนิยม

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

ความหลากหลาย ของขนาด Screen

ผู้ผลิดมือถือแอนดรอยด์ เจ้าหนึ่ง ก็จะมีขนาดของจอเอง บางทีทำมา 5 รุ่นก็มีมัน 5 ขนาดเลย นี่คือขนาดของจอ มือถือแอนดรอยด์ ที่ไปพบมา

  • 240x320
  • 240x400
  • 240x432
  • 320x480
  • 480x800
  • 480x854
  • 600x1024
  • 640x960
  • 1280x800

งานเข้านักออกแบบ User Interface

นอกจากขนาด ความแตกต่างของ Screen ต่างๆ ยังมีเรื่องของ Orientation ที่เครื่องบางรุ่น กำหนดให้เป็น

  1. Portrail จอวางตามแนวแกน y อย่างที่เราเห็นๆกันทัวไป
  2. Landscape จอวางตามแนวแกน x ถ้าคิดไม่ออก ลองคิดของเครื่อง BB มีมือถือแอนดรอยด์ ออกแบบจอเป็นอย่างนั้น

การเขียนโค้ดแอพพลิเคขั่นแอนดรอยด์ มา 1 แอพ เราก็อยากให้มัน ใช้ได้กับทุก Screen ที่มีอยู่ในท้องตลาด แล้ว เราจะทำอย่างไร ?

 

 

ก่อนที่จะไปที่คำตอบ ว่าเราจะออกแบบ User Interface ที่ Device หรืออุปกรณ์ มีความหลายหลาย ในขนาดของจอ เรามาดูว่า เขา

Screen ของ มือถือแอนดรอยด์ เขาวัดขนาดกันอย่างไร ?

  1. การวัดขนาดของจอ โดยวัดตามเส้นทะแยงมุม มาแนวคิดเดียวกับ การวัดจอทีวี , จอมอนิเตอร์คอมเลย เช่น 3.1 นิ้ว , 4.1 นิ้ว , 7 นิ้ว เป็นต้น
  2. วัดโดยใช้ค่า Resolution หรือ การวัดจำนวน พิกเซล ที่บรรจุอยู่ในหน้าจอ ส่วนมากจะบอกเป็น 240x400 , 480x800 เป็นต้น
  3. อันเนียสำคัญที่สุด บอกเป็น จำนวนพิกเซล ต่อ หน่วยพื้นที่ มีหน่วยเป็น dpi อย่างเช่น 160 dpi , 240 dpi เป็นต้น

 

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

 

 

Density Independent Pixel (dp)

Density Independent Pixel (dp) นีแหละ เป็นคำตอบสุดท้าย Density Independent Pixel เป็น พิกเซลเสมือน สำหรับ การกำหนดขนาดของ Text ขนาดของรูปภาพ หรือ ปุ่มต่างๆ โดย 1dp = ความหนาแน่นของจอ หาร ด้วย 160 และได้แบ่งจอออกเป็น 4 ขนาดคือ

  1. ldpi คือ จอที่มีขนาดของความหนาแน่น ไม่เกิน 120 dpi
  2. mdpi คือ จอ ที่มีความหนาแน่น ตั่งแต่ 120 - 160 dpi
  3. hdpi คือ จอ ที่มี ความหนาแน่น 160 - 240 dpi
  4. xdpi คือ จอ ที่มี ความหนาแน่น 240 dpi ขึ้นไป

แต่ก็ไม่ตายตัวนะครับ ข้อมูลจาก http://developer.android.com ระบุกว้างๆแบบนี้

 

 

แล้วเราจะทำอย่างไร ให้ได้การออกแบบอย่างนี้

 

 

คำตอบคือ คุณต้อง สร้างถาพที่จะใช้ในแอพฯ คุณ 3 ขนาด

แล้วนำไปแยกเก็บ ในโฟวเดอร์ ต่างๆ ดังนี้

  • res/drawable-ldpi เก็บภาพ สำหรับ มือถือที่มีความหนาแน่นต่ำ
  • res/drawable-mdpi เก็บภาพ สำหรับ มือถือที่มีความหนาแน่นปานกลาง
  • res/drawable-hdpi เก็บภาพ สำหรับ มือถือที่มีความหนาแน่นสูง
  • res/drawable-xdpi เก็บภาพ สำหรัย มือถือที่มีความหนาแน่นสูงมาก ครับ

 

 

 

 

 

 

 

 

 

 

คู่มือการอบรมแอนดรอยด์ สำหรับ ผู้เริ่มต้น

Open publication - Free publishing - More android

joomla stats



Powed By EWTC easy4com workshop & training center

53 Bangna-Trad14 Bangna Bangkok 10260

office:02-393-0970 fax:02-399-2542 hotline24/7:081-859-5309