คำถามติดแท็ก custom-component

2
Android - การเขียนคอมโพเนนต์ (สารประกอบ) ที่กำหนดเอง
แอป Android ที่ฉันกำลังพัฒนาอยู่มีกิจกรรมหลักที่เติบโตขึ้นค่อนข้างมาก ส่วนใหญ่เป็นเพราะมีTabWidget3 แท็บ แต่ละแท็บมีส่วนประกอบค่อนข้างน้อย กิจกรรมต้องควบคุมส่วนประกอบเหล่านั้นทั้งหมดพร้อมกัน ดังนั้นฉันคิดว่าคุณคงนึกออกว่ากิจกรรมนี้มี 20 ช่อง (ช่องสำหรับเกือบทุกองค์ประกอบ) นอกจากนี้ยังมีตรรกะมากมาย (ตัวฟังคลิกตรรกะเพื่อเติมรายการ ฯลฯ ) โดยปกติสิ่งที่ฉันทำในเฟรมเวิร์กที่ใช้ส่วนประกอบคือการแยกทุกอย่างออกเป็นส่วนประกอบที่กำหนดเอง ส่วนประกอบที่กำหนดเองแต่ละส่วนจะมีความรับผิดชอบที่ชัดเจน มันจะมีชุดส่วนประกอบของตัวเองและตรรกะอื่น ๆ ทั้งหมดที่เกี่ยวข้องกับส่วนประกอบนั้น ฉันพยายามหาวิธีที่จะทำได้และพบบางอย่างในเอกสารของ Android ที่พวกเขาชอบเรียกว่า "Compound Control" (ดูhttp://developer.android.com/guide/topics/ui/custom-components.html#compoundและเลื่อนไปที่ส่วน "Compound Controls") ฉันต้องการสร้างส่วนประกอบดังกล่าวโดยใช้ไฟล์ XML ที่กำหนด ดูโครงสร้าง ในเอกสารระบุว่า: โปรดทราบว่าเช่นเดียวกับกิจกรรมคุณสามารถใช้วิธีการประกาศ (ตาม XML) ในการสร้างส่วนประกอบที่มีอยู่หรือคุณสามารถซ้อนกันโดยทางโปรแกรมจากโค้ดของคุณ นั่นเป็นข่าวดี! วิธีการที่ใช้ XML เป็นสิ่งที่ฉันต้องการ! แต่มันไม่ได้บอกว่าต้องทำอย่างไรยกเว้นว่า "ชอบด้วยกิจกรรม" ... แต่สิ่งที่ฉันทำในกิจกรรมคือการเรียกร้องsetContentView(...)ให้ขยายมุมมองจาก XML LinearLayoutวิธีการที่ไม่สามารถใช้ได้ถ้าคุณตัวอย่างเช่นประเภทรอง ดังนั้นฉันจึงพยายามขยาย XML ด้วยตนเองดังนี้: …

1
เมื่อใดควรใช้ <ui: include> ไฟล์แท็กคอมโพสิตคอมโพสิตและ / หรือคอมโพเนนต์แบบกำหนดเอง
ฉันเริ่มใช้ JSF 2.0 กับ Facelets เมื่อเร็ว ๆ นี้และรู้สึกงงงวยกับส่วนประกอบคอมโพสิตใหม่ที่รู้&lt;ui:include&gt;เทคนิคที่มีอยู่และเทคนิคอื่น ๆ ที่ Facelets 1.x นำเสนอ อะไรคือความแตกต่างระหว่างแนวทางเหล่านี้? ดูเหมือนว่าพวกเขาจะนำเสนอสิ่งเดียวกัน: &lt;ui:param&gt;vs &lt;cc:attribute&gt;, &lt;ui:insert&gt;+ &lt;ui:define&gt;vs tag files, การนำเทมเพลตที่มีอยู่มาใช้ซ้ำ มีอะไรนอกเหนือจากไวยากรณ์และข้อกำหนดของอินเทอร์เฟซที่ชัดเจนในกรณีของคอมโพสิตหรือไม่? ประสิทธิภาพอาจแตกต่างกันหรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.