ฉันต้องการแสดงปุ่มใต้ไฟล์ListView. ปัญหาคือถ้าListViewขยายออก (เพิ่มรายการ ... ) ปุ่มจะถูกผลักออกจากหน้าจอ
ฉันลองLinearLayoutชั่งน้ำหนัก (ตามที่แนะนำในAndroid: เหตุใดจึงไม่มี maxHeight สำหรับมุมมอง ) แต่ฉันคิดว่าน้ำหนักผิดหรือไม่ได้ผล
นอกจากนี้ฉันพบคำแนะนำในการใช้ไฟล์RelativeLayout. ListViewนั้นก็จะถูกกำหนดข้างต้นปุ่มที่มีandroid:layout_aboveพารามิเตอร์
ปัญหานี้คือฉันไม่รู้ว่าจะวางตำแหน่งปุ่มอย่างไรในภายหลัง ในตัวอย่างที่ฉันพบมุมมองด้านล่างListViewถูกปรับโดยใช้android:layout_alignParentBottomแต่ฉันไม่ต้องการให้ปุ่มของฉันยึดติดกับด้านล่างของหน้าจอ
มีแนวคิดใดบ้างที่นอกเหนือจากการใช้ setHeight-method และการคำนวณพื้นที่ที่ต้องการ
แก้ไข: ฉันได้รับคำตอบที่เป็นประโยชน์มากมาย
โซลูชันของ bigstone & user639183 ทำงานได้เกือบสมบูรณ์ อย่างไรก็ตามฉันต้องเพิ่มช่องว่าง / ระยะขอบพิเศษที่ด้านล่างของปุ่มเนื่องจากมันจะยังคงถูกผลักออกไปครึ่งทางจากหน้าจอ (แต่ก็หยุดแล้ว)
คำตอบของ Adinia พร้อมเลย์เอาต์แบบสัมพัทธ์จะใช้ได้ก็ต่อเมื่อคุณต้องการให้ปุ่มคงที่ที่ด้านล่างของหน้าจอ ไม่ใช่สิ่งที่ฉันตั้งใจไว้ แต่ยังอาจเป็นประโยชน์สำหรับคนอื่น ๆ
วิธีแก้ปัญหาของ AngeloS เป็นวิธีที่ฉันเลือกในตอนท้ายเพราะมันเพิ่งสร้างเอฟเฟกต์ที่ฉันต้องการ อย่างไรก็ตามฉันได้ทำการเปลี่ยนแปลงเล็กน้อยสองครั้งกับ
LinearLayoutปุ่มรอบ ๆ ปุ่ม:ก่อนอื่นเนื่องจากฉันไม่ต้องการให้มีค่าสัมบูรณ์ในเค้าโครงของฉันฉันจึงเปลี่ยน
android:layout_height="45px"เป็นwrap_contentซึ่งก็ใช้ได้ดีเช่นกันอย่างที่สองเนื่องจากฉันต้องการให้ปุ่มอยู่ตรงกลางในแนวนอนซึ่งรองรับเฉพาะในแนวตั้ง
LinearLayoutฉันจึงเปลี่ยน android: orientation = "horizontal" เป็น "vertical"
AngeloS ยังระบุในโพสต์แรกของเขาด้วยว่าเขาไม่แน่ใจว่า
android:layout_weight="0.1"พาราในLinearLayoutรอบนั้นListViewมีผลหรือไม่ ฉันเพิ่งลองและมันทำได้จริง! หากไม่มีปุ่มจะถูกดันออกจากหน้าจออีกครั้ง

android:layout_alignParentBottom="true"ได้ แต่เพื่อความชัดเจนคุณต้องการให้ปุ่มติดอยู่ที่ด้านล่างของ ListView เมื่อมีบางรายการหรือไม่? ถ้าใช่ดูสิ่งที่ริชพูด