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

รูปแบบใหม่ที่มีอยู่ในที่เก็บ Android Support ที่สร้างขึ้นบนระบบข้อ จำกัด ที่ยืดหยุ่นโดยทำเครื่องหมายตำแหน่งมุมมองที่สัมพันธ์กัน


14
วิธีการทำให้ ConstraintLayout ใช้งานได้กับค่าเปอร์เซ็นต์?
ด้วยการแสดงตัวอย่าง 1 จากสตูดิโอของ Android 2.2 Google ConstraintLayoutเปิดตัวรูปแบบใหม่ในห้องสมุดสนับสนุน: ด้วย ConstraintLayout มันง่ายกว่าที่จะใช้เครื่องมือออกแบบใน Android Studio แต่ฉันไม่พบวิธีการใช้ขนาดสัมพัทธ์ (เปอร์เซ็นต์หรือ 'น้ำหนัก' เหมือนใน LinearLayout) มีวิธีในการกำหนดข้อ จำกัด ตามเปอร์เซ็นต์หรือไม่? เช่นทำให้มุมมองใช้ 40% ของหน้าจอสร้างระยะขอบ 20% ระหว่างมุมมองตั้งค่าความกว้างของมุมมองเป็น 50% ของความกว้างของมุมมองอื่น

6
วิธีการจัดองค์ประกอบให้อยู่กึ่งกลางใน ConstraintLayout
ฉันใช้ConstraintLayoutในแอปพลิเคชันของฉันเพื่อจัดทำแอปพลิเคชัน ฉันพยายามสร้างหน้าจอที่หนึ่งEditTextและButtonควรจะอยู่ในศูนย์และButtonควรอยู่ด้านล่างEditTextด้วย marginTop เพียง 16dp นี่คือเค้าโครงและภาพหน้าจอของฉันว่ามันเป็นอย่างไรในตอนนี้ activity_authenticate_content.xml <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="16dp" android:paddingRight="16dp" tools:context="com.icici.iciciappathon.login.AuthenticationActivity"> <android.support.design.widget.TextInputLayout android:id="@+id/client_id_input_layout" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/login_client_id" android:inputType="textEmailAddress" /> </android.support.design.widget.TextInputLayout> <android.support.v7.widget.AppCompatButton android:id="@+id/authenticate" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="@string/login_auth" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="@id/client_id_input_layout" app:layout_constraintRight_toRightOf="@id/client_id_input_layout" app:layout_constraintTop_toTopOf="@id/client_id_input_layout" /> </android.support.constraint.ConstraintLayout>

5
การเว้นระยะห่างระหว่างมุมมองอย่างเท่าเทียมกันโดยใช้ ConstraintLayout
การใช้งานทั่วไปLinearLayoutคือการเว้นวรรค (น้ำหนัก) มุมมองให้เท่า ๆ กันตัวอย่างเช่น คุณใช้มุมมองที่เว้นระยะเท่า ๆ กันเช่นนี้โดยใช้มุมมองใหม่ได้ConstraintLayoutอย่างไร ConstraintLayoutการเชื่อมโยงสำหรับการอ้างอิง: โพสต์บล็อก , I / O วิดีโอเซสชั่น

15
Android - วิธีการสร้างข้อ จำกัด เลื่อนออก?
ฉันต้องการสร้างเลย์เอาต์ที่ให้ฉันเลื่อนลงโดยใช้รูปแบบข้อ จำกัด แต่ฉันไม่รู้ว่าจะทำอย่างไร ควรScrollViewเป็นผู้ปกครองของConstraintLayoutเช่นนี้หรือไม่ <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true"> <android.support.constraint.ConstraintLayout android:id="@+id/Constraint" android:layout_width="match_parent" android:layout_height="match_parent"/> หรือวิธีอื่น ๆ บางทีใครบางคนสามารถชี้ให้ฉันเป็นแบบฝึกหัดที่ดีเกี่ยวกับเรื่องนี้หรือยกตัวอย่างฉันไม่สามารถหาได้ นอกจากนี้ฉันไม่ทราบว่านี่เป็นข้อผิดพลาดหรือการกำหนดค่าบางอย่างที่ฉันไม่ได้ตั้งค่า แต่ฉันได้เห็นภาพเช่นนี้: ที่มีส่วนประกอบบางส่วนที่อยู่นอกพิมพ์เขียว "สี่เหลี่ยมสีน้ำเงิน" แต่พวกมันสามารถมองเห็นได้ในขณะที่ด้านข้างของฉันถ้าฉันวางองค์ประกอบบน "พื้นที่สีขาว" ฉันไม่สามารถมองเห็นหรือเคลื่อนย้ายไปได้ทุกที่และปรากฏบนต้นไม้องค์ประกอบ . อัปเดต: ฉันพบวิธีที่จะทำให้การเลื่อนเลย์เอาต์ข้อ จำกัด ในเครื่องมือออกแบบโดยใช้แนวนอนเพื่อดันขอบเลย์เอาต์ของข้อ จำกัด และขยายมันเกินกว่าอุปกรณ์หลังจากนั้นคุณสามารถใช้แนวทางเป็นด้านล่างใหม่ของโครงร่างข้อ จำกัด เพื่อ ยึดส่วนประกอบ


7
Wrap_content view ภายใน ConstraintLayout เหยียดออกนอกหน้าจอ
ConstraintLayoutฉันกำลังพยายามที่จะใช้ฟองง่ายแชทโดยใช้ นี่คือสิ่งที่ฉันพยายามบรรลุ: อย่างไรก็ตามwrap_contentดูเหมือนจะไม่ทำงานอย่างถูกต้องกับข้อ จำกัด มันเคารพระยะขอบ แต่ไม่คำนวณพื้นที่ว่างที่เหมาะสม นี่คือเค้าโครงของฉัน: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/chat_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="16dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintHorizontal_bias="0" tools:background="@drawable/chat_message_bubble" tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sodales accumsan tortor at bibendum." android:layout_marginStart="64dp" android:layout_marginLeft="64dp" android:layout_marginEnd="32dp" android:layout_marginRight="32dp" android:layout_marginTop="8dp" android:layout_marginBottom="8dp" /> </android.support.constraint.ConstraintLayout> แสดงผลดังนี้: …

9
วิธีการบรรลุขอบทับซ้อน / ลบในเค้าโครงข้อ จำกัด ?
เป็นไปได้หรือไม่ที่จะบรรลุขอบเชิงลบในรูปแบบข้อ จำกัด เพื่อให้เกิดการทับซ้อนกัน? ฉันพยายามให้รูปภาพอยู่ตรงกลางเค้าโครงและมีมุมมองข้อความเพื่อให้ภาพซ้อนทับกัน a x dp ฉันลองตั้งค่ามาร์จิ้นติดลบ แต่โชคไม่ดี จะดีมากถ้ามีวิธีที่จะทำให้สำเร็จได้

8
Android ConstraintLayout - วางมุมมองหนึ่งไว้บนมุมมองอื่น
ฉันกำลังพยายามเพิ่มProgressBarด้านบนของ a Button(ทั้งคู่อยู่ใน a ConstraintLayout) <Button android:id="@+id/sign_in_button" android:layout_width="280dp" android:layout_height="75dp" android:layout_marginBottom="75dp" android:layout_marginTop="50dp" android:text="@string/sign_in" android:textColor="@color/white" android:textSize="22sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/passwordEditText" app:layout_constraintVertical_bias="0.0"/> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="@+id/sign_in_button" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="@+id/sign_in_button" android:layout_marginBottom="8dp" app:layout_constraintVertical_bias="0.5" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="@+id/sign_in_button" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="@+id/sign_in_button"/> แต่แม้หลังจากการโทรbringToFrontบนProgressBarในก็มักจะเข้าพักที่อยู่เบื้องหลังonCreateButton ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar); progressBar.bringToFront();

5
ConstraintLayout: เปลี่ยนข้อ จำกัด โดยทางโปรแกรม
ฉันต้องการความช่วยเหลือ ConstraintSetฉันต้องการความช่วยเหลือเกี่ยวกับเป้าหมายของฉันคือเปลี่ยนข้อ จำกัด ของมุมมองในโค้ด แต่ฉันคิดไม่ออกว่าจะทำอย่างไรให้ถูกต้อง ฉันมี 4 TextViewวินาทีและหนึ่งImageViewและหนึ่งฉันต้องการกำหนดImageViewข้อ จำกัด เป็นหนึ่งในTextViews check_answer4 = (TextView) findViewById(R.id.check_answer4); check_answer1 = (TextView) findViewById(R.id.check_answer1); check_answer2 = (TextView) findViewById(R.id.check_answer2); check_answer3 = (TextView) findViewById(R.id.check_answer3); correct_answer_icon = (ImageView) findViewById(R.id.correct_answer_icon); ถ้าคำตอบแรกถูกต้องฉันต้องตั้งค่าข้อ จำกัด ของImageViewถึง app:layout_constraintRight_toRightOf="@+id/check_answer1" app:layout_constraintTop_toTopOf="@+id/check_answer1" หากคำตอบที่ 2 ถูกต้องฉันต้องกำหนดข้อ จำกัด ของ ImageViewถึง app:layout_constraintRight_toRightOf="@+id/check_answer2" app:layout_constraintTop_toTopOf="@+id/check_answer2" และอื่น ๆ

10
เป็นไปได้ไหมที่จะใส่ ConstraintLayout ไว้ใน ScrollView
ดังนั้นเมื่อเร็ว ๆ นี้พร้อมกับ Android 2.2 สตูดิโอมี ConstraintLayout ใหม่ที่ทำให้การออกแบบมากขึ้น แต่ไม่เหมือนRelativeLayoutและLinearlayoutผมไม่สามารถใช้ในการเซอร์ราวด์ScrollView ConstraintLayotเป็นไปได้หรือไม่ ถ้าเป็นเช่นนั้นอย่างไร? กล่าวคือ <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <android.support.constraint.ConstraintLayout android:id="@+id/constraintLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <!-- Have whatever children you want inside --> </android.support.constraint.ConstraintLayout> </ScrollView>

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

7
โครงร่างข้อ จำกัด แนวตั้งตรงกลาง
จะจัดแนววัตถุในแนวตั้งและจัดกึ่งกลางในรูปแบบข้อ จำกัด ได้อย่างไร? เป็นไปได้ที่จะจัดแนวในแนวตั้งหรือแนวนอน แต่ฉันไม่พบวิธีที่จะจัดกึ่งกลางในเวลาเดียวกันนอกเหนือจากการ จำกัด มุมมองระหว่างเส้นตารางสองเส้น ศูนย์จัดแนวแนวตั้ง: ดูเหมือนว่าการจัดกึ่งกลางจะเป็นปัญหาใหญ่กับการจัดวางข้อ จำกัด ซึ่งบังคับให้ฉันต้องกลับไปใช้เลย์เอาต์แบบสัมพัทธ์สำหรับ "centerInParent", "centerVertical" และ "centerHorizontal" ฉันต้องการสร้างเลย์เอาต์ในกล่องสีแดงโดยใช้เลย์เอาต์ข้อ จำกัด : น่าเสียดายที่วิธีเดียวที่ฉันพบโดยไม่ใช้เส้นตารางสองเส้นคือ Relative และ LinearLayouts แบบซ้อนกัน (ซึ่ง Constraint Layout ควรจะแก้สถานการณ์ที่แน่นอนนี้!) เค้าโครงโดยใช้เลย์เอาต์แบบสัมพัทธ์และเชิงเส้น: <RelativeLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="12dp" app:layout_constraintTop_toBottomOf="@id/user_points" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"> <LinearLayout android:id="@+id/stat_1_layout" android:layout_width="60dp" android:layout_height="wrap_content" android:layout_marginLeft="12dp" android:layout_marginRight="12dp" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/divider_1" android:orientation="vertical"> <TextView android:id="@+id/stat_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" …

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