(QML) Flickable ไม่ทำงานตามที่ควร


26

ดังนั้นในขณะที่สร้างแอพ Ubuntu ฉันจำเป็นต้องใช้flickableสำหรับการเลื่อนดังนั้นตอนนี้ฉันมีรหัสของแบบฟอร์ม

Page{
  ...
  Flickable {
    anchors.fill: parent
    content.height: element1.height + element2.height ...

    ...
  }
}

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

หมายเหตุ : ฉันได้ลองชุดค่าผสมหลายอันด้วยตัวยึดความกว้างความสูงทุกอย่าง มีอยู่ครั้งหนึ่งที่ฉันทำให้มันอยู่ในตำแหน่งเดิม แต่เมื่อสะบัดมันมันจะทับส่วนหัว


1
คำถามนี้เป็นของ Stack Overflow จริงๆ และคุณควรให้ข้อมูลโค้ดที่ใหญ่กว่า: ฉันคิดว่าผู้ร้ายอยู่ในเนื้อหา QML นั้นเป็นระบบที่เปราะบางและแปลกประหลาดซึ่งมีการพึ่งพาแบบไร้เหตุผลจำนวนมาก
Barafu Albino

2
@BarafuAlbino ฉันคิดว่ามันเหมาะกับที่นี่มากกว่าเพราะฉันคิดว่าเป็น SDK ที่เฉพาะเจาะจงมากอย่าคิดว่า qml แบบดิบจะทำงานในลักษณะนี้ นี่อาจเป็นข้อผิดพลาดอย่างที่ฉันพูดเมื่อพลิกขึ้นมันจะอยู่ในตำแหน่งที่ถูกต้อง
user2563892

1
ใช่โปรดทิ้งคำถามไว้ที่นี่ซึ่งจะเป็นประโยชน์ต่อนักพัฒนาแอป Ubuntu อื่น ๆ
mhall119

@ mhall119 ขอบคุณที่ยืนขึ้นสำหรับฉันอย่างน้อยพวกเขาจะฟังคุณ :)
user2563892

3
@BarafuAlbino คำถามนี้ดีอย่างสมบูรณ์ที่นี่ คำถามเกี่ยวกับการพัฒนาบน Ubuntu อยู่ในหัวข้อต่อศูนย์ช่วยเหลือ
เซท

คำตอบ:


0

มีวิธีการ qml เล็กน้อยเพื่อดูว่าเกิดอะไรขึ้นโดยเฉพาะอย่างยิ่งเนื่องจากตำแหน่งส่วนประกอบทั้งหมดมีผลต่อกัน

ทางออกหนึ่งคือการทำสิ่งที่คุณทำเพื่อให้สามารถสะบัดได้ในตำแหน่งที่ถูกต้องแล้วเพิ่มclip: trueคุณสมบัติเพื่อหยุดการซ้อนทับส่วนหัว

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