คำถามติดแท็ก android-relativelayout

เค้าโครงของ Android ที่แสดงมุมมองเด็กในตำแหน่งที่สัมพันธ์กันหรือในมุมมองหลัก

14
เปอร์เซ็นต์ความกว้างใน RelativeLayout
ฉันกำลังทำงานกับเค้าโครงแบบฟอร์มสำหรับการเข้าสู่ระบบActivityในแอพ Android ของฉัน ภาพด้านล่างเป็นรูปแบบที่ฉันต้องการ: ผมสามารถที่จะบรรลุรูปแบบนี้มีดังต่อไปXML ปัญหาคือมันแฮ็คเล็กน้อย ฉันต้องเขียนโค้ดความกว้างสำหรับ EditText ของโฮสต์ โดยเฉพาะฉันต้องระบุ: android:layout_width="172dp" ฉันต้องการให้เปอร์เซ็นต์ความกว้างกับโฮสต์และพอร์ตของ EditText (บางอย่างเช่น 80% สำหรับโฮสต์, 20% สำหรับพอร์ต) เป็นไปได้หรือไม่ XML ต่อไปนี้ใช้งานได้กับ Droid ของฉัน แต่ดูเหมือนจะไม่สามารถใช้ได้กับทุกหน้าจอ ฉันต้องการทางออกที่แข็งแกร่งกว่านี้จริงๆ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/host_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/home" android:paddingLeft="15dp" android:paddingTop="0dp" android:text="host" android:textColor="#a5d4e2" android:textSize="25sp" android:textStyle="normal" /> <TextView android:id="@+id/port_label" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/home" android:layout_toRightOf="@+id/host_input" android:paddingTop="0dp" …

4
วิธีการตั้งค่าคุณลักษณะ layout_align_parent_right โดยทางโปรแกรมของปุ่มในเค้าโครงแบบสัมพันธ์?
ฉันมีเค้าโครงแบบสัมพัทธ์ซึ่งฉันกำลังสร้างโดยทางโปรแกรม: RelativeLayout layout = new RelativeLayout( this ); RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); ตอนนี้ฉันมีสองปุ่มที่ฉันต้องการเพิ่มในเค้าโครงที่สัมพันธ์กันนี้ แต่ปัญหาคือปุ่มทั้งสองถูกแสดงที่ด้านซ้ายของ RelatiiveLayout ซ้อนทับกัน buttonContainer.addView(btn1); buttonContainer.addView(btn2); ตอนนี้ฉันอยากรู้ว่าฉันจะตั้งค่าandroid:layout_alignParentRight="true"หรือ android:layout_toLeftOf="@id/btn"คุณลักษณะของปุ่มแบบเป็นโปรแกรมได้อย่างไรใน xml?

9
วิธีการจัดโครงสร้าง Views ใน RelativeLayout โดยทางโปรแกรม
ฉันพยายามที่จะบรรลุโปรแกรมต่อไปนี้ (แทนที่จะประกาศผ่าน XML): <RelativeLayout...> <TextView ... android:id="@+id/label1" /> <TextView ... android:id="@+id/label2" android:layout_below: "@id/label1" /> </RelativeLayout> ในคำอื่น ๆ ฉันจะทำให้ที่สองTextViewปรากฏอยู่ด้านล่างหนึ่งคนแรก แต่ฉันต้องการที่จะทำในรหัส: RelativeLayout layout = new RelativeLayout(this); TextView label1 = new TextView(this); TextView label2 = new TextView(this); ... layout.addView(label1); layout.addView(label2); setContentView(layout); ปรับปรุง: ขอบคุณ TreeUK ฉันเข้าใจทิศทางทั่วไป แต่ก็ยังใช้งานไม่ได้ - "B" ทับ "A" ผมทำอะไรผิดหรือเปล่า? RelativeLayout layout …

13
การกำหนดลำดับการดู Z ของ RelativeLayout ใน Android
ฉันต้องการกำหนดลำดับ z ของมุมมองของ RelativeLayout ใน Android bringToFrontฉันรู้ว่าวิธีหนึ่งในการทำเช่นนี้จะเรียก มีวิธีที่ดีกว่าในการทำเช่นนี้? มันจะดีมากถ้าฉันสามารถกำหนดลำดับ z ในโครงร่าง xml



5
LinearLayout, RelativeLayout และ AbsoluteLayout ต่างกันอย่างไร
ฉันสับสนเกี่ยวกับความแตกต่างระหว่าง LinearLayout, RelativeLayout และ AbsoluteLayout ใครช่วยกรุณาบอกความแตกต่างที่แน่นอนระหว่างพวกเขา

3
Android RelativeLayout โดยทางโปรแกรมตั้ง“ centerInParent”
ฉันมีความสัมพันธ์แบบนี้: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip"> <Button android:id="@+id/negativeButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:textColor="#ffffff" android:layout_alignParentLeft="true" android:background="@drawable/black_menu_button" android:layout_marginLeft="5dip" android:layout_centerVertical="true" android:layout_centerHorizontal="true"/> <Button android:id="@+id/positiveButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20dip" android:textColor="#ffffff" android:layout_alignParentRight="true" android:background="@drawable/blue_menu_button" android:layout_marginRight="5dip" android:layout_centerVertical="true" android:layout_centerHorizontal="true"/> </RelativeLayout> ฉันต้องการที่จะสามารถตั้งค่าทางโปรแกรมสำหรับpositiveButtonผลเช่นเดียวกับ: android:layout_centerInParent="true" ฉันจะทำให้โปรแกรมเป็นแบบนี้ได้อย่างไร

8
จะทำให้ RelativeLayout ทำงานร่วมกับการผสานและรวมได้อย่างไร
ฉันพยายามมาสองสามวันแล้วเพื่อทำให้เลย์เอาต์ของฉันมีประสิทธิภาพมากขึ้นโดยการแปลงจากการใช้หลายระดับที่ซ้อนกันLinearLayoutsเป็นหนึ่งRelativeLayoutและพบปัญหาเล็กน้อยที่ฉันไม่สามารถหาวิธีแก้ปัญหาสำหรับ ... ฉันค้นหากลุ่มผู้เริ่มต้นใช้งาน Android และไซต์นี้แล้วและไม่พบสิ่งใดที่จะช่วยฉันแก้ปัญหาได้ ฉันอ่านในบล็อกหนึ่งที่คุณสามารถรวมเค้าโครงเข้ากับการรวมและรวมแท็กได้ ดังนั้นสิ่งที่ฉันมีคือไฟล์เลย์เอาต์หลักที่มีRelativeLayoutองค์ประกอบรูท ภายในนั้นฉันมี 5 แท็กที่อ้างอิงไฟล์เลย์เอาต์ xml ที่แตกต่างกัน 5 ไฟล์ซึ่งแต่ละไฟล์มีองค์ประกอบผสานสำหรับรูท (ไฟล์ผสานทั้งหมดของฉันเหมือนกันยกเว้นรหัสในนั้น) ฉันพบปัญหาสองประการซึ่งฉันจะอธิบายหลังจากโพสต์โค้ดเค้าโครงเวอร์ชันที่เรียบง่าย: ตัวอย่างไฟล์เค้าโครงหลัก: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/translucent_gray" > <include android:id="@+id/running_gallery_layout_id" layout="@layout/running_gallery_layout" /> <include android:id="@+id/recent_gallery_layout_id" layout="@layout/recent_gallery_layout" android:layout_below="@id/running_gallery_layout_id" /> <include android:id="@+id/service_gallery_layout_id" layout="@layout/service_gallery_layout" android:layout_below="@id/recent_gallery_layout_id" /> <include android:id="@+id/process_gallery_layout_id" layout="@layout/process_gallery_layout" android:layout_below="@id/service_gallery_layout_id" /> </RelativeLayout> ตัวอย่างรวมไฟล์ผสาน: <?xml version="1.0" encoding="utf-8"?> …

5
RelativeLayout แพงกว่า LinearLayout หรือไม่?
ฉันใช้ RelativeLayout มาโดยตลอดทุกครั้งที่ฉันต้องการ View container เพราะมันมีความยืดหยุ่นแม้ว่าฉันจะต้องการแสดงสิ่งที่เรียบง่ายจริงๆก็ตาม สามารถทำได้หรือไม่หรือฉันควรลองใช้ LinearLayout เมื่อทำได้จากมุมมองด้านประสิทธิภาพ / แนวปฏิบัติที่ดี ขอบคุณ!

5
วิธีการตั้งค่าพารามิเตอร์เลย์เอาต์ RelativeLayout ในโค้ดไม่อยู่ใน xml
ตัวอย่างเช่นฉันต้องการเพิ่ม 3 ปุ่มบนหน้าจอ: หนึ่งจัดชิดซ้าย, หนึ่งจัดกึ่งกลาง, ปุ่มสุดท้ายจัดชิดขวา ฉันจะตั้งค่าเลย์เอาต์ในโค้ดไม่ใช่ในได้xmlอย่างไร

10
แนวตั้งศูนย์ RelativeLayout
ฉันต้องการสร้างเค้าโครงแถวรายการ เลย์เอาต์นี้มีมุมมองภาพอยู่ทางซ้ายสุดมุมมองข้อความถัดจากมุมมองภาพและมุมมองภาพที่ด้านขวาสุด ฉันต้องการให้ทั้งหมดอยู่ตรงกลางแนวตั้ง <RelativeLayout android:layout_width="fill_parent" android:layout_height="100dp" android:gravity="center_vertical" > <ImageView android:id="@+id/icon" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center_vertical" /> <TextView android:id="@+id/func_text" android:layout_toRightOf="@id/icon" android:layout_width="wrap_content" android:layout_height="100dp" android:layout_gravity="center_vertical" /> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:layout_alignParentRight="true" android:layout_gravity="center_vertical" android:src="@drawable/arrow" /> </RelativeLayout> ฉันพยายามเพิ่มลงandroid:layout_centerVertical="true"ใน textview ด้วย แต่ผลที่ได้คือมุมมองข้อความจัดชิดด้านล่างกับมุมมองสองภาพ ฉันลองสิ่งนี้ในโปรแกรมจำลอง Android 4.2 ใครสามารถช่วยฉันเกี่ยวกับเรื่องนี้?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.