ปรับขนาดหน้าจอเพื่อแสดงเฉพาะในส่วนการทำงานของหน้าจอสัมผัสกึ่งฟังก์ชัน


12

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


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

คำตอบ:


14

หมายเหตุ:

  • โซลูชันของฉันได้รับการทดสอบบน Stock Android 4.4.2 และ Stock CyanogenOS 12 (5.0) ของ OnePlus One และควรใช้กับ Android 4.3 ขึ้นไป (ขึ้นอยู่กับคำตอบนี้)
  • ฉันได้กล่าวถึงทุกที่ที่ต้องการเข้าถึงรูต
  • คำตอบนี้ได้รับมาจากคำตอบของฉันในคำถามที่แตกต่างบิตที่นี่

ฉันใช้ความคิดเห็นต่อไปนี้ เป็นพื้นฐานในการทำงาน:

ส่วนล่าง 20% ของ Nexus 4 ของฉันไม่ทำงาน ฉันใช้: wm overscan 0,0,0,210มี Android WM ไม่ได้วาดอะไรในพื้นที่นั้นเพื่อให้ฉันสามารถใช้งานพื้นที่ที่ถูกดึงทั้งหมดอย่างเต็มที่อีกครั้ง .. - Thrustmaster

คำแนะนำ:

  1. เปิดใช้งานการแก้ไขข้อบกพร่อง USBในโทรศัพท์ของคุณ
  2. ติดตั้งเครื่องมือ ADBในพีซีของคุณเชื่อมต่ออุปกรณ์ของคุณเข้ากับมันและตรวจสอบให้แน่ใจว่าตรวจพบอุปกรณ์adb devicesแล้ว
  3. เราจำเป็นต้องรู้ความละเอียดและความหนาแน่นของหน้าจอของอุปกรณ์ ใน terminal / cmd ป้อนadb shell dumpsys display | grep mBaseDisplayInfoเพื่อแสดงข้อมูลที่เกี่ยวข้องกับการแสดงผล ผลลัพธ์อาจมีลักษณะ:

    mBaseDisplayInfo=DisplayInfo{"Built-in Screen", app 480 x 854, real 480 x 854, largest app 480 x 854, smallest app 480 x 854, 64.29 fps, rotation 0, density 240, 240.0 x 240.0 dpi, layerStack 0, type BUILT_IN, address null, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
    

    ข้อมูลที่เกี่ยวข้องในกรณีของฉันคือ:

    • จริง 1080x1920
    • ความหนาแน่น 480
    1. คำสั่งที่มีประโยชน์ที่สุดที่จะใช้คือ:

      • wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]
      • wm density [reset|DENSITY]

      หน้าจอตัวเริ่มต้นของฉันโดยไม่มีการปรับแต่งดูเหมือนว่า:

    2. เพื่อลดผลลัพธ์ของหน้าจอที่ด้านล่างคำสั่ง:

      adb shell wm overscan 0,0,0,100
      

      โปรดสังเกตว่าฉันใช้การลดลงอีกมาก0,0,0,300และผลลัพธ์ก็เป็นเช่นนี้:

      ปรับค่าตามความต้องการของคุณ

    3. คุณอาจจะต้องแก้ไขความหนาแน่นตั้งแต่จอแสดงผลจะมีลักษณะแปลก ความหนาแน่นของการแสดงผลเริ่มต้นของอุปกรณ์ของฉันคือ 480 dpi ดังนั้นฉัน tweaked ด้วยวิธีนี้:

      adb shell wm density 440
      

      และหน้าจอผลลัพธ์จะเป็นเช่นนี้ แอปตามมติเอ็นดู

    4. โปรดทราบว่าคุณสามารถใช้adb shell wm density resetและadb shell wm overscan resetเปลี่ยนกลับเป็นความหนาแน่นและความละเอียดเริ่มต้นตามลำดับ
    5. ตอนนี้ "โซนสัมผัสตาย" ได้รับการดูแลถึงเวลาที่จะใช้ปุ่มเสมือน / ซอฟต์คีย์ (เฉพาะในกรณีที่คุณต้องการ)

      1. อิซซี่ได้กล่าวถึงคำตอบนี้แล้ว มิฉะนั้นคุณสามารถใช้Gravitybox LP (สำหรับผู้ใช้ Lollipop) หรือGravitybox KK (สำหรับผู้ใช้ Kitkat) เป็นโมดูล Xposed และจำเป็นต้องมีการเข้าถึงรูทและติดตั้งXposed Framework

        ติดตั้งเปิดใช้งานและเปิดใช้ Gravitybox →การปรับแต่งแถบนำทางเปิดใช้งานแถบการนำทาง →ทำการรีบูตและซอฟต์คีย์ที่รู้จักจะมีการเปิดใช้งานแถบนำทาง

      2. รอมที่กำหนดเองเช่น Cyanogenmod และบางรอมหุ้นมีตัวเลือกในการเปิดใช้งานซอฟท์คีย์ (ปุ่ม) ภายใต้การตั้งค่า คุณสามารถใช้ตัวเลือกนั้นได้เนื่องจากไม่ต้องการการเข้าถึงรูทใด ๆ

      3. หลังจากที่ปรับแต่งเพิ่มเติมหน้าจอสุดท้ายของ Android 5.0 ของฉันดูเหมือนว่า:

        IMG: หลังจากปรับแต่งเพิ่มเติมหน้าจอสุดท้ายของ Android 5.0 ของฉันดูเหมือน

เราไปได้ดี!


ฉันหวังว่าฉันจะรู้เรื่องนี้เมื่อฉันทุบโทรศัพท์อื่นของฉัน! หลังจากเล่นกับสิ่งนี้ฉันไม่สามารถรับคีย์บอร์ด Nexus 6 เพื่อปรับแนวนอน ฉันพลาดด้านขวาของแป้นพิมพ์ มันทำงานได้ดีในแนวตั้งดังนั้นมันควรจะเป็นกรณีที่หายากเมื่อมันเป็นความพิการ โชคดีที่ฉันเพิ่งพลาดไปแล้วและไม่ต้องการมันตอนนี้ แต่มันก็เจ๋งที่รู้ วิธีการทำงานของสมาร์ท! ขอบคุณ.
Kristopher

@Kristopher คุณปรับแต่งความหนาแน่นแล้วหรือยังเพื่อรีสตาร์ทอุปกรณ์? แอพบางตัวไม่ตอบสนองต่อการเปลี่ยนแปลงที่ทำในขนาดที่แสดง
Firelord

1
ฉันคิดว่าฉันไม่ได้รีสตาร์ทและคุณพูดถูก สิ่งที่เปลี่ยนไปแล้ว สิ่งที่ดี (:
Kristopher

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

1
BTW, (ใน OPO, CyanogenOS) เราสามารถเปลี่ยนความหนาแน่นจากการตั้งค่า -> จอแสดงผลและไฟ -> ความหนาแน่นของจอแอลซีดี มันจะแจ้งให้รีสตาร์ทโดยอัตโนมัติ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.