เหตุใด Nexus 7 จึงสามารถแสดงเนื้อหาบนหน้าจอได้มากกว่า Galaxy Nexus มาก?


30

Galaxy Nexus คือ 1280x720 และแท็บเล็ต Nexus 7 คือ 1280x800

ฉันรู้ว่าแท็บเล็ตมีขนาดใหญ่กว่า แต่ความละเอียดของหน้าจอไม่ใช่ขนาดจอแสดงผลที่กำหนดหน้าจออสังหาริมทรัพย์

ทำไม Nexus 7 ถึงปรากฏขึ้นเพื่อให้สามารถแสดงเนื้อหาบนหน้าจอได้มากขึ้น?

แก้ไข - คำถามของฉันไม่ใช่ "เพราะเหตุใดจึงออกแบบวิธีนี้" คำถามของฉันมีมากขึ้นว่า "มันจะแสดงบนหน้าจอมากขึ้นได้อย่างไร"? PPI ไม่ได้อธิบายสิ่งนี้

มันเป็นเพียงเรื่องของการปรับขนาดหรือไม่?


ฉันควรจะถามว่า "อย่างไร" ก็สามารถทำได้ เมื่อฉันพูดว่าทำไมฉันไม่ได้หมายความว่า "ทำไมพวกเขาถึงออกแบบแบบนี้" ฉันหมายถึง "ทำไมจึงเป็นไปได้ทางเทคนิค"
zacharyalexstern

ทำไมจึงเป็นไปได้ อย่างจริงจัง? คุณทำให้สิ่งเล็กลง
RR

นอกจากนี้หากคุณดูใน build.prop ของ ROM นั้น (หากคุณมีดัมพ์ ROM) แสดงว่ามีบรรทัดในro.sf.lcd_density = xxxที่บอกความหนาแน่นของหน้าจอ ยิ่งมีค่าสูงเท่าใดสามารถใส่บนหน้าจอได้มากขึ้นเช่นเดียวกันกับด้านหลัง
t0mm13b

2
@zacharyalexstern: การถามว่ามันเสร็จสิ้นแล้วคำถามพัฒนาและอยู่นอกหัวข้อที่นี่ ลอง StackOverflow
โกหกที่

คำตอบ:


44

เพื่อให้เข้าใจว่าเหตุใด Nexus 7 จึงสามารถแสดงเนื้อหาได้มากกว่า Galaxy Nexus ฉันจะอธิบายแนวคิดสองประการก่อน: ความหนาแน่นของหน้าจอและความหนาแน่นของพิกเซลอิสระ

แต่ก่อนที่เราจะลงรายละเอียดทางเทคนิคมันอาจจะคุ้มค่าที่จะอธิบายเป้าหมายการออกแบบของการใช้พิกเซลที่มีความหนาแน่นอิสระ เป้าหมายคือการกำหนด UI ที่คล้ายกันในมิติต่าง ๆ ของอุปกรณ์โดยไม่คำนึงถึงขนาดหน้าจอ ดังนั้นในกรณีนี้ลักษณะของเมนูจะเหมือนกันใน Galaxy Nexus และแท็บเล็ต (เคียงข้างกันควรดูคล้ายกันมาก) แต่เนื่องจากมีหน้าจอที่ใหญ่กว่าจึงสามารถแสดงเนื้อหาได้มากขึ้น ผู้ออกแบบเลือกลักษณะที่ดูดีสำหรับขนาดที่แน่นอน (หน้าจอ 160 dpi คือฐาน) และนี่คือ "จำลอง" ในกรณีนี้ในอุปกรณ์ที่มีความละเอียดสูงกว่า dpi

ความหนาแน่นของหน้าจอ

โดยทั่วไปเรียกว่า dpi (จุดต่อนิ้ว) Android จัดกลุ่มความหนาแน่นของหน้าจอจริงทั้งหมดเป็นความหนาแน่นทั่วไปสี่แบบ: ต่ำ (120), ปานกลาง (160), สูง (240) และสูงพิเศษ (320) อุปกรณ์เช่น Galaxy Nexus มีความหนาแน่นของหน้าจอ "สูงเป็นพิเศษ" (โดยเฉพาะอย่างยิ่งค่า dpi ถูกกำหนดไว้ที่ 320) Nexus 7 ใช้ "tvdpi" - เช่น 213 dpi

ความหนาแน่นของพิกเซลอิสระ

โดยทั่วไปเรียกว่า dp นี่คือหน่วยพิกเซลเสมือนที่ใช้เมื่อแสดงเนื้อหา พิกเซลความหนาแน่นอิสระนั้นเทียบเท่ากับหนึ่งพิกเซลทางกายภาพบนหน้าจอ 160 dpi ในการคำนวณ dp ให้ใช้สูตรต่อไปนี้:

px = dp * (dpi / 160)

หรือเทียบเท่า:

dp = (px / dpi) * 160

เหตุผลที่ Nexus 7 สามารถแสดงเนื้อหามากขึ้นกว่า Galaxy Nexus แม้จะมีมติที่คล้ายกันคือ: dpi ของ Nexus 7 ต่ำกว่า Galaxy Nexus

Galaxy Nexus (320 dpi, กว้าง 720 พิกเซล)

(720 / 320) * 160 = 360 dp

Nexus 7 (213 dpi, กว้าง 800 พิกเซล)

(800 / 213) * 160 = 600 dp

ซึ่งหมายความว่าเมื่อแอปแสดงผลใน Galaxy Nexus ความกว้างของหน้าจอคือ 360 dp จริง ๆ (แสดงผลโดยใช้ 720 พิกเซล) ในขณะที่ Nexus 7 ความกว้างของหน้าจอคือ 600 dp (แสดงผลโดยใช้ 800 พิกเซล)

โบนัส

หาก Galaxy Nexus ของคุณถูกรูทคุณสามารถใช้แอพเช่นLCD Density Modderและเปลี่ยน DPI ของอุปกรณ์ของคุณเป็น 240 สิ่งที่คุณจะได้รับคือสิ่งที่ใกล้เคียงกับ Nexus 7 มากขึ้นในแพ็คเกจที่เล็กกว่า ด้านซ้ายเป็นภาพหน้าจอของอุปกรณ์ที่ 240 dpi คุณจะสังเกตเห็นว่าเราสามารถเห็นเนื้อหาได้มากขึ้นเมื่อ DPI ต่ำลง

Galaxy Nexus ที่ 240 dpi Galaxy Nexus ที่ 320 dpi

ไม่มีส่วนเกี่ยวข้องกับ PPI

คำตอบอื่น ๆ ที่กล่าวถึง PPI จำนวนเนื้อหาที่แสดงไม่มีส่วนเกี่ยวข้องกับ PPI ของอุปกรณ์ แม้ว่าโดยทั่วไปผู้ค้าจะเลือก DPI ที่ใกล้เคียงกับ PPI ของอุปกรณ์ (เช่น Galaxy Nexus มี PPI ที่ 316 แต่ DPI ที่ 320 ซึ่ง Nexus 7 มี PPI 216 แห่ง แต่ใช้ 213 DPI)

อ่านเพิ่มเติม

http://developer.android.com/guide/practices/screens_support.html


2
ขอบคุณสำหรับสิ่งนี้ไม่มีใครตอบคำถามที่ฉันถาม
zacharyalexstern

2
นี่เป็นคำตอบที่ดีโดยรวม แต่ย่อหน้า "ไม่มีอะไรเกี่ยวข้องกับ PPI" ทำให้เกิดความแตกต่างที่ผิดพลาดระหว่าง DPI และ PPI ดูความคิดเห็นของฉันเกี่ยวกับคำตอบของ Mohammed Essam
Wyzard

สวัสดี. ฉันแค่ไม่เข้าใจสิ่งที่คุณพูด คุณคิดว่ายิ่งจำนวน dpi น้อยลงยิ่งแสดงมากขึ้นเท่านั้น แต่เมื่อคุณมี 100 ดอทต่อนิ้วคุณจะแสดงข้อมูลน้อยลงในหนึ่งนิ้วเมื่อมี 200 ดอทต่อนิ้ว และถ้าตั้งค่าความหนาแน่นเริ่มต้นใกล้กับอุปกรณ์ ppi คุณไม่สามารถทำได้ดีกว่าแม้แต่การปรับเปลี่ยนค่าเพราะเท่าที่ฉันรู้ใช่มีจุดหนึ่งจุดที่สามารถแสดงผลบนพิกเซลจำนวนมาก แต่พิกเซลไม่สามารถแสดงได้มากกว่า นั่นหนึ่งจุด
Oliver

เอ่อสิ่งนี้ใช้ได้กับหน้าจอเดสก์ท็อปหรือไม่
Oliver

2
จริงๆแล้ว Nexus 7 มี 213 DPI และ 600x961 dp หน่วย ดูplus.google.com/105051985738280261832/posts/6eWwQvFGLV8
beetstra

7

นั่นเป็นเพราะพิกเซลต่อนิ้ว (PPI) นั้นแตกต่างกัน PPI ที่สูงกว่ายิ่งมีคุณภาพสูงขึ้น แต่ด้วยขนาดหน้าจอที่เล็กลง (สัมพันธ์กัน) ดังนั้นNexus 7มี 216 พิกเซลต่อนิ้วในขณะที่Galaxy Nexusมี 316 พิกเซลต่อนิ้ว ความละเอียดไม่ใช่ทุกอย่างคุณต้องพิจารณาความหนาแน่นของพิกเซลด้วย

ค่า PPI สูงมีข้อได้เปรียบที่เป็น HD แต่ก็มีข้อเสียซึ่งเป็นขนาดหน้าจอที่เล็กกว่า (ที่ความละเอียดคงที่)

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ PPI ที่นี่


ฉันไม่เห็นสิ่งที่ PPI เกี่ยวข้องกับหน้าจออสังหาริมทรัพย์ Galaxy Nexus ควรมีหน้าจอเดียวกับอสังหาริมทรัพย์ใน Nexus 7 โดยทั่วไปสิ่งต่าง ๆ ควรจะเล็กลงบนหน้าจอ
zacharyalexstern

3
@zacharyalexstern, PPI เกี่ยวข้องเนื่องจากกำหนดขนาดตัวอักษร ข้อความ 12 จุดควรมีความสูงหนึ่งในหกของนิ้ว (72pt = 1in) ซึ่งสอดคล้องกับ 36 พิกเซลใน 216ppi Nexus 7 และประมาณ 53 พิกเซลสำหรับ 316ppi Galaxy Nexus องค์ประกอบ UI อื่น ๆ จะถูกปรับสัดส่วนตาม PPI ด้วยเช่นกัน
Wyzard

2
โดยทั่วไปองค์ประกอบ UI ที่มีการปรับขนาดให้ปรากฏขึ้นพร้อมกับความสอดคล้องทางกายภาพขนาดในอุปกรณ์ นั่นเป็นเหตุผลที่คุณสามารถใส่มันลงในอุปกรณ์ที่มีขนาดใหญ่ขึ้นได้
Wyzard

2
@zacharyalexstern ฉันไม่สามารถใส่ได้ดีกว่า Wyzard ดังนั้นฉันจะไม่ทำ ฉันแค่สำรองเขาไว้เพราะคุณดูเหมือนจะยืนกรานว่า PPI ไม่มีส่วนเกี่ยวข้องกับอสังหาริมทรัพย์บนหน้าจอ ฉันสัญญาว่าคุณจะตรงกันข้ามมันมีทุกอย่างที่จะทำกับอสังหาริมทรัพย์จอ คุณถูกต้องว่าหน้าจอ 1280x800 สองหน้ามีจำนวนพิกเซลเท่ากัน แต่ส่วนประกอบทั้งหมดของ Android นั้นถูกปรับอัตราส่วนให้เป็นความหนาแน่นของพิกเซล คุณตั้งโปรแกรมสำหรับ Android แล้วหรือยัง คำศัพท์DPคุ้นเคยหรือไม่

1
@DerekKwok, DPI เป็นคำที่ใช้พิมพ์ไม่ได้กับจอคอมพิวเตอร์ เมื่อมีการใช้งานที่เกี่ยวข้องกับการแสดงผลของคอมพิวเตอร์มักจะเป็นคำพ้องความหมายสำหรับ PPI เนื่องจากภาพที่ทำจากพิกเซลไม่ใช่จุด
Wyzard

4

การแสดงเนื้อหาในปริมาณที่เท่ากันบนหน้าจอ 4.6 "จะทำให้มีขนาดเล็กในกรณีส่วนใหญ่คุณจะไม่สามารถอ่านได้ดังนั้นการวางเนื้อหาลงบนหน้าจอก็ไม่สมเหตุสมผล คุณสามารถแสดงผลได้ แต่พิกเซลหนึ่งมีขนาดไม่เท่ากันในทุกหน้าจอการสร้างเนื้อหาที่ใช้งานได้และอ่านง่ายทำให้คุณต้องใช้พิกเซลมากขึ้นในหน้าจอขนาดเล็กเนื่องจากมีความหนาแน่นมากขึ้น

เพื่อการเปรียบเทียบที่ดีให้เปิดหน้าเว็บใน Galaxy Nexus แล้วซูมออกจนสุด หน้าเดียวกันที่ดูบนจอภาพ 14 "(หรือเช่นนั้น) ที่มีความละเอียดใกล้เคียงกันจะไม่มีปัญหา แต่ข้อความแทบอ่านไม่ออกบนโทรศัพท์ของคุณ


จากมุมมองของ "ความสำเร็จทางเทคนิคนี้ทำได้อย่างไร" - ขึ้นอยู่กับว่าแอปเขียนอย่างไร ตามค่าเริ่มต้น Android จะปรับขนาดอินเทอร์เฟซบนหน้าจอที่ใหญ่ขึ้นซึ่งอาจหรือไม่อาจทำให้ข้อมูลเพิ่มเติมปรากฏให้เห็น (พิจารณารายการเลื่อนตัวอย่างเช่น: รายการเพิ่มเติมจะปรากฏบนหน้าจอขนาดใหญ่ขึ้น) นั่นเป็นสถานการณ์พื้นฐานที่สุด

อย่างไรก็ตามยังเป็นไปได้สำหรับนักพัฒนาในการกำหนดโครงร่างที่แตกต่างกันโดยสิ้นเชิงตามขนาดหน้าจอหรือความหนาแน่น ดังนั้นเลย์เอาต์ในอุปกรณ์ 7 "อาจไม่เกี่ยวข้องกับเลย์เอาต์ในอุปกรณ์ 4" หรืออุปกรณ์ 10 "ซึ่งจะช่วยให้นักพัฒนามีความยืดหยุ่นในการสร้าง UIs ที่สมบูรณ์ยิ่งขึ้นสำหรับแท็บเล็ต (และอุปกรณ์อื่น ๆ useable. นี้จะครอบคลุมในระยะเวลาบนเว็บไซต์นักพัฒนาของ Android


กำลังจะพูดว่าแดกดันที่ Google สนับสนุน iPad สำหรับ Google + ของพวกเขา ... การสาธิต Glass กับ Brin เป็นอย่างอื่นแม้ว่า ... : D
t0mm13b

ฉันเข้าใจว่าทำไมมันทำคำถามของฉันมากขึ้นว่า เช่นมันเป็นเพียงเรื่องของการปรับขนาดหรือไม่?
zacharyalexstern

@zacharyalexstern: ขึ้นอยู่กับว่าแอปนั้นเขียนอย่างไร คุณสามารถเขียนแอพเพื่อใช้เลย์เอาต์ที่แตกต่างกันอย่างสิ้นเชิงบนหน้าจอที่มีขนาดแตกต่างกันหากคุณต้องการดังนั้นจึงไม่จำเป็นต้อง "ปรับขนาด" ตามความหมายทั่วไป หรือคุณสามารถปล่อยให้แอปปรับขนาดได้ถ้าต้องการ มีเอกสารขนาดใหญ่พอสมควรซึ่งอุทิศให้กับสิ่งนี้ในเว็บไซต์นักพัฒนา Androidแต่นั่นเป็นบทสรุปพื้นฐานที่ค่อนข้างดี
eldarerathis

1

ขออภัยสำหรับคำตอบที่โง่ แต่: Galaxy Nexus ทำให้ทุกอย่างใหญ่ขึ้น

ตัวอย่างเช่นตัวอักษรขนาดเล็ก 'a' สามารถมีความกว้าง 30 พิกเซลใน Galaxy Nexus ในขณะที่มีเพียง 20 พิกเซลใน Nexus 7 ด้วยวิธีนี้ตัวอักษรจำนวนมากสามารถพอดีกับหน้าจอได้ เหตุผลที่พวกเขาปรากฏจะเป็นขนาดเดียวกัน (เช่น 3mm ถ้าคุณใส่ไม้บรรทัดบนหน้าจอ) จะเป็นคนอื่น ๆ กล่าวว่าความหนาแน่นของพิกเซล โดยทั่วไปแล้วพิกเซลจะมีขนาดใหญ่ขึ้นบน Nexus 7

เหตุผลที่ Galaxy Nexus ทำให้ทุกอย่างใหญ่ขึ้นคือเพื่อให้คุณสามารถใช้งานได้จริงโดยไม่ต้องใช้นิ้วจากใบหน้าของคุณ หากตัวอักษร 'a' จะมีความกว้าง 20 พิกเซลเช่นเดียวกับ Nexus 7 มันจะเล็กเกินไปที่จะอ่านได้อย่างสะดวกสบาย (เพราะพิกเซลมีขนาดเล็กกว่ามาก)


ฉันเข้าใจว่านั่นไม่ใช่ภารกิจของฉัน
zacharyalexstern
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.