เพิ่มประสิทธิภาพสำหรับ ChromeOS

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

หน้านี้แสดงรายละเอียดวิธีปรับแต่งประสบการณ์การใช้งาน ให้เหมาะกับแล็ปท็อปและอุปกรณ์แบบ 2-in-1 ดูรายการการทดสอบทั้งหมดเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบแอปเพื่อ ความเข้ากันได้ในอุปกรณ์เหล่านี้

ใช้ประโยชน์จากการรองรับฟีเจอร์หลายหน้าต่างแบบอิสระ

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

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

รูปที่ 1 หน้าต่างแอปที่ปรับขนาดได้

คุณสามารถปรับปรุงประสบการณ์ของผู้ใช้เมื่อแอปทำงานบน ChromeOS ได้โดยทำตามแนวทางปฏิบัติแนะนำต่อไปนี้

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

ปรับแต่งสีแถบด้านบน

ChromeOS ใช้ธีมแอปเพื่อกำหนดสีแถบด้านบนที่แสดงเหนือแอป ซึ่งจะแสดงเมื่อผู้ใช้กดปุ่มควบคุมหน้าต่างและปุ่มย้อนกลับค้างไว้ หากต้องการให้แอปดูดีและปรับแต่งสำหรับ ChromeOS ให้กำหนดค่า colorPrimary และหากเป็นไปได้ ให้กำหนดค่า colorPrimaryDark ในธีมของแอป

colorPrimaryDark ใช้เพื่อกำหนดสีแถบด้านบน หากกำหนดเฉพาะ colorPrimary ChromeOS จะใช้เวอร์ชันที่เข้มกว่าใน แถบด้านบน ดูข้อมูลเพิ่มเติมได้ที่สไตล์และธีม

รองรับแป้นพิมพ์ แทร็กแพด และเมาส์

Chromebook ทุกรุ่นมีแป้นพิมพ์จริงและแทร็กแพด และบางรุ่นมี หน้าจอสัมผัสด้วย อุปกรณ์บางรุ่นสามารถเปลี่ยนจากแล็ปท็อปเป็นแท็บเล็ตได้

ในแอปสำหรับ ChromeOS ให้รองรับอินพุตจากเมาส์ แทร็กแพด และแป้นพิมพ์ เพื่อให้แอปใช้งานได้โดยไม่ต้องใช้หน้าจอสัมผัส แอปจำนวนมากรองรับเมาส์และแทร็กแพดอยู่แล้วโดยไม่ต้องดำเนินการใดๆ เพิ่มเติม อย่างไรก็ตาม เราขอแนะนำให้ปรับแต่งลักษณะการทำงานของแอปให้เหมาะสมกับเมาส์ รวมถึงรองรับและแยกความแตกต่างระหว่างอินพุตจากเมาส์และการสัมผัส

ตรวจสอบตามรายละเอียดต่อไปนี้

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

รูปที่ 2 การเลื่อนด้วยล้อเลื่อนของเมาส์

รูปที่ 3 สถานะการวางเมาส์เหนือปุ่ม

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

เคอร์เซอร์ที่กำหนดเอง

ปรับแต่งเคอร์เซอร์เมาส์ของแอปเพื่อระบุวิธีที่ผู้ใช้โต้ตอบกับองค์ประกอบ UI ของแอปได้ คุณสามารถตั้งค่า PointerIcon ที่เหมาะสมเพื่อใช้ เมื่อผู้ใช้โต้ตอบกับองค์ประกอบโดยใช้ตัวแก้ไข pointerHoverIcon

ในแอป ให้แสดงข้อมูลต่อไปนี้ทั้งหมด

  • เคอร์เซอร์ I-beam สำหรับข้อความ
  • แฮนเดิลปรับขนาดที่ขอบเลเยอร์ที่ปรับขนาดได้
  • เคอร์เซอร์มือเปิดและมือปิดสำหรับเนื้อหาที่เลื่อนหรือลากได้ โดยใช้ท่าทางสัมผัสคลิกแล้วลาก
  • วงกลมแสดงการประมวลผล

คลาส PointerIcon มีค่าคงที่ที่คุณใช้เพื่อใช้เคอร์เซอร์ที่กำหนดเองได้

แป้นพิมพ์ลัดและการไปยังส่วนต่างๆ

เนื่องจาก Chromebook ทุกเครื่องมีแป้นพิมพ์จริง ให้ระบุปุ่มลัดเพื่อช่วยให้ผู้ใช้ทำงานได้อย่างมีประสิทธิภาพมากขึ้น เช่น หากแอปของคุณรองรับการพิมพ์ คุณสามารถใช้ Control+P เพื่อเปิดกล่องโต้ตอบการพิมพ์ได้

ในทำนองเดียวกัน ให้จัดการองค์ประกอบ UI ที่สำคัญทั้งหมดโดยใช้การไปยังส่วนต่างๆ ด้วยแท็บ ซึ่งมีความสำคัญอย่างยิ่งต่อการช่วยเหลือพิเศษ เพื่อให้เป็นไปตามมาตรฐานการช่วยเหลือพิเศษ พื้นผิว UI ทั้งหมดต้องมีสถานะที่โฟกัสซึ่งชัดเจนและเป็นไปตามข้อกำหนดด้านการช่วยเหลือพิเศษ ดังที่แสดงในรูปต่อไปนี้

รูปที่ 4 การกด Tab ในแนวนอน

รูปที่ 5 แทนที่ท่าทางสัมผัสการปัดด้วยตัวควบคุมที่จะปรากฏเมื่อวางเมาส์

อย่าลืมใช้แป้นพิมพ์หรือเมาส์แทนฟีเจอร์หลักที่ซ่อนอยู่ภายใต้การโต้ตอบที่เฉพาะเจาะจงกับการสัมผัส เช่น การแตะค้างไว้ การปัด หรือท่าทางสัมผัสแบบมัลติทัชอื่นๆ ตัวอย่างโซลูชันคือการระบุ ปุ่มที่ปรากฏบนพื้นผิวเมื่อวางเมาส์

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

ปรับปรุงการป้อนข้อมูลของผู้ใช้เพิ่มเติม

หากต้องการให้แอปมีฟังก์ชันการทำงานระดับเดสก์ท็อป ให้พิจารณาอินพุตที่มุ่งเน้นด้าน ประสิทธิภาพการทำงานต่อไปนี้

เมนูตามบริบท

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

รูปที่ 6 เมนูตามบริบทจะปรากฏขึ้นเมื่อคลิกขวา

ลาก

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

รูปที่ 7 ลากและวางในอินเทอร์เฟซโครงสร้างไฟล์

รองรับสไตลัส

การรองรับสไตลัสเป็นสิ่งสำคัญสำหรับแอปวาดภาพและจดบันทึก มอบการสนับสนุนที่ดียิ่งขึ้น สำหรับ Chromebook และแท็บเล็ตที่มาพร้อมสไตลัสด้วยการใช้การโต้ตอบ ที่ปรับให้เหมาะกับการใช้งานอินพุตสไตลัส

โปรดคำนึงถึงความแตกต่างที่อาจเกิดขึ้น ในฮาร์ดแวร์สไตลัสที่แตกต่างกันเมื่อออกแบบการโต้ตอบด้วยสไตลัส ดูภาพรวมของ API สไตลัสได้ที่ ความเข้ากันได้ของอินพุตบนหน้าจอขนาดใหญ่

ทำให้เลย์เอาต์ปรับเปลี่ยนตามพื้นที่โฆษณา

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

  • สถาปัตยกรรมแอปแสดงผล
  • จำกัดความยาวของข้อความและขนาดรูปภาพให้มีความกว้างสูงสุด
  • ใช้พื้นที่ในแถบเครื่องมือของแอปให้เกิดประโยชน์มากขึ้น
  • ปรับปรุงตำแหน่งของความสามารถในการใช้งาน UI โดยการปรับแอปให้เหมาะกับการใช้งานเมาส์แทนการใช้นิ้วหัวแม่มือ
  • เพิ่มประสิทธิภาพขนาดของวิดีโอและรูปภาพ กำหนดชุดความกว้าง และความสูงสูงสุดสำหรับสื่อทั้งหมด รวมถึงเพิ่มความสามารถในการอ่านและการสแกน
  • ใช้คลาสขนาดหน้าต่างและเลย์เอาต์แผงเพื่อใช้การออกแบบที่ปรับตามพื้นที่โฆษณา

นอกจากนี้ โปรดคำนึงถึงสิ่งต่อไปนี้ด้วย

  • นำหรือลดความสำคัญของคอมโพเนนต์การเลื่อนแนวนอน
  • หลีกเลี่ยง UI แบบโมดัลเต็มหน้าจอ ใช้ UI แบบอินไลน์ เช่น ตัวบ่งชี้ความคืบหน้าและ การแจ้งเตือน สำหรับการดำเนินการที่ไม่สำคัญทั้งหมด
  • ใช้คอมโพเนนต์ UI ที่ได้รับการปรับปรุง เช่น ตัวเลือกเวลาและวันที่ ช่องข้อความ และ เมนูที่ออกแบบมาสำหรับเมาส์ แป้นพิมพ์ และหน้าจอขนาดใหญ่
  • ใช้การแก้ไขในบรรทัด คอลัมน์เพิ่มเติม หรือ UI แบบโมดอลแทนกิจกรรมใหม่ สำหรับฟีเจอร์การแก้ไขขนาดเล็กถึงปานกลาง
  • นำปุ่มการทำงานแบบลอย (FAB) ออกหรือแก้ไขเพื่อการไปยังส่วนต่างๆ ด้วยแป้นพิมพ์ที่ดีขึ้น โดยค่าเริ่มต้น FAB จะอยู่ในตำแหน่งสุดท้ายในการไปยังแท็บตามขวาง แต่ให้วางไว้เป็นอันดับแรกเนื่องจากเป็นการกระทำหลัก หรือ แทนที่ด้วยความสามารถระดับสูงกว่า

รูปที่ 8 ภาพจำลองเลย์เอาต์ที่ปรับเปลี่ยนตามอุปกรณ์บนหน้าจอขนาดโทรศัพท์และเดสก์ท็อป

ปุ่มย้อนกลับระดับระบบเป็นรูปแบบที่สืบทอดมาจากรากฐานของอุปกรณ์พกพาของ Android ซึ่งเป็นรูปแบบที่ไม่เหมาะกับบริบทของเดสก์ท็อป

เมื่อแอปได้รับการปรับแต่งให้เหมาะกับสภาพแวดล้อมของแล็ปท็อปมากขึ้น ให้พิจารณา เปลี่ยนไปใช้รูปแบบการนำทางที่ลดความสำคัญของปุ่มย้อนกลับ อนุญาตให้ แอปจัดการสแต็กประวัติของตัวเองโดยระบุปุ่มย้อนกลับในแอป เส้นทางแบบ Breadcrumb หรือเส้นทางอื่นๆ เช่น ปุ่มปิดหรือปุ่มยกเลิก เป็นส่วนหนึ่งของ UI สำหรับหน้าจอขนาดใหญ่

คุณควบคุมได้ว่าจะให้แอปแสดงปุ่มย้อนกลับในหน้าต่างหรือไม่โดย ตั้งค่ากำหนดภายในแท็ก <activity> การตั้งค่า true จะซ่อน ปุ่มย้อนกลับ

<meta-data android:name="WindowManagerPreference:SuppressWindowControlNavigationButton" android:value="true" />

แก้ปัญหาเกี่ยวกับภาพตัวอย่างกล้อง

ปัญหาเกี่ยวกับกล้องอาจเกิดขึ้นเมื่อแอปทำงานได้เฉพาะในแนวตั้ง แต่ผู้ใช้เรียกใช้แอปบนหน้าจอแนวนอน ในกรณีนี้ การหมุนตัวอย่างหรือผลลัพธ์ที่บันทึกไว้อาจไม่ถูกต้อง

หากต้องการลดความซับซ้อนในการพัฒนากล้อง ให้ลองใช้ไลบรารี CameraX

ดูรายละเอียดเพิ่มเติมได้ที่คำอธิบายปัญหาเกี่ยวกับตัวอย่างกล้อง

จัดการการตั้งค่าอุปกรณ์

โปรดพิจารณาการตั้งค่าอุปกรณ์ต่อไปนี้สำหรับแอปที่ทำงานบน ChromeOS

เปลี่ยนระดับเสียง

อุปกรณ์ ChromeOS เป็นอุปกรณ์ที่มีระดับเสียงคงที่ ซึ่งหมายความว่าแอปที่เล่นเสียงจะมีตัวควบคุมระดับเสียงของตัวเอง ทำตามหลักเกณฑ์สำหรับ การทำงาน กับอุปกรณ์ที่มีระดับเสียงคงที่

เปลี่ยนความสว่างของหน้าจอ

คุณปรับความสว่างของอุปกรณ์ใน ChromeOS ไม่ได้ ระบบจะไม่สนใจการเรียกไปยัง system settings และ WindowManager.LayoutParams