TableLayout - TextView และ ImageView แบบอินไลน์

ฉันได้สร้างแอปที่เพิ่ม TextViews และ ImageViews ลงใน TableLayout แบบไดนามิก ฉันกำลังเผชิญกับปัญหาเล็กๆ น้อยๆ อย่างหนึ่ง ฉันไม่สามารถให้ ImageView แสดงแบบอินไลน์กับฟิลด์ TextView ได้ ในส่วนของฉัน ฉันได้รับผลลัพธ์กลับมาจากเซิร์ฟเวอร์และแสดงมันในรูปแบบ

ฉันได้ลองหลายวิธีแล้ว เช่น การตั้งค่าแรงโน้มถ่วงของ TextView ให้อยู่ในแนวตั้งตรงกลางเช่นนี้
ฉันพยายามจำกัดความกว้างของช่องข้อความแต่ไม่ได้ผล

    firstRow.setGravity(Gravity.CENTER_VERTICAL);

นี่คือวิธีการเติมแถวของฉัน:

    businessNameRow.addView(businessNameField);

ฉันกำลังเพิ่มชุดแบบไดนามิก แต่ละชุดประกอบด้วย 7 แถว TextView และ 1 ImageView ในแต่ละแถวดังนี้:

TableRow firstRow = new TableRow(getActivity().getApplicationContext());
TableRow secondRow = new TableRow(getActivity().getApplicationContext());
TableRow thirdRow = new TableRow(getActivity().getApplicationContext());
TableRow fourthRow = new TableRow(getActivity().getApplicationContext());
TableRow fifthRow = new TableRow(getActivity().getApplicationContext());
TableRow sixthRow = new TableRow(getActivity().getApplicationContext());
TableRow imageRow = new TableRow(getActivity().getApplicationContext());
TableRow seventhRow = new TableRow(getActivity().getApplicationContext());

จากนั้นฉันก็เพิ่มแถวลงในตาราง

final TableLayout tl = (TableLayout)root.findViewById(R.id.tableResultsGPS);

tl.addView(firstRow); //And so on

TableLayout ของฉันถูกวางไว้ใน ScrollView เพื่อให้ฉันสามารถเลื่อนดูรายการผลลัพธ์ได้

แนบรูปภาพของสิ่งที่ฉันต้องการบรรลุและสิ่งที่ดูเหมือนตอนนี้ ป้อนคำอธิบายรูปภาพที่นี่


person Mac    schedule 18.04.2016    source แหล่งที่มา
comment
คุณช่วยแสดงภาพของสิ่งที่คุณได้รับตอนนี้ได้ไหม   -  person sihao    schedule 18.04.2016
comment
แนบไปกับโพสต์หลัก นี่คือสิ่งที่ฉันได้รับ   -  person Mac    schedule 18.04.2016
comment
คุณสามารถแชร์โค้ดที่คุณตั้งกฎการจัดวางสำหรับรูปภาพและข้อความในแต่ละแถวได้หรือไม่   -  person Swayam    schedule 18.04.2016
comment
พิจารณาคำตอบของฉัน ฉันคิดว่ามันง่ายกว่ามากที่จะบรรลุผลสำเร็จและให้ความยืดหยุ่นมากกว่ามาก   -  person sihao    schedule 18.04.2016
comment
ในไฟล์ XML? เพราะฉันลบพารามิเตอร์เลย์เอาต์ทั้งหมดออกเพื่อรักษาโค้ดให้สะอาดเพราะฉันไม่รู้ว่าต้องทำอย่างไร   -  person Mac    schedule 18.04.2016
comment
คงจะดีถ้าคุณสามารถใช้ @sihao เพื่อแจ้งให้ฉันทราบ ฉันจะได้รับการแจ้งเตือนเกี่ยวกับการอัปเดตของคุณ   -  person sihao    schedule 19.04.2016
comment
คุณได้ดูบทช่วยสอนมุมมองรายการในคำตอบของฉัน จากนั้น ลองนึกภาพโซลูชันของคุณในรูปแบบ ListView พยายามเชื่อมโยงมัน แจ้งให้เราทราบหากคุณยังติดอยู่   -  person sihao    schedule 19.04.2016
comment
@sihao ฉันกำลังดำเนินการแก้ไขปัญหาโดยใช้วิธีของคุณ จะแจ้งให้คุณทราบ ขอบคุณ   -  person Mac    schedule 20.04.2016
comment
เยี่ยมมาก! listview มีประโยชน์มากสำหรับหลาย ๆ แอปพลิเคชันเช่นกัน   -  person sihao    schedule 20.04.2016


คำตอบ (1)


ดูเหมือนว่าสิ่งที่คุณพยายามทำให้สำเร็จนั้นเหมาะสมกับ ListView การนำไปปฏิบัติ

แนวคิดทั่วไป:

  • สร้างรายการด้วยเค้าโครงของแต่ละรายการ (มุมมองข้อความและรูปภาพของคุณ)
  • สร้างคลาสใหม่ที่สร้างโมเดลแต่ละรายการของคุณ
  • การใช้มุมมองรายการ ผูกข้อมูลกับ ListView

มีบทช่วยสอนมากมาย ลองสิ่งนี้

หมายเหตุด้านข้าง: คำแนะนำที่ดีสำหรับการเลือกเลย์เอาต์คือเลย์เอาต์ที่สัมพันธ์กันสำหรับรายการ ListView ของคุณ หนึ่งในรายการโปรดส่วนตัวของฉันเนื่องจากมีความยืดหยุ่น

person sihao    schedule 18.04.2016