赞
踩
参考文章1:约束布局ConstraintLayout看这一篇就够了
参考文章2:学习Placeholder的使用
使用角定位时,app:layout_constraintCircleRadius
指的是两个控件的中心点的距离
margin配置,如android:layout_marginLeft
,优先级高于app:layout_constraintLeft_toLeftOf="parent"、app:layout_constraintRight_toRightOf="parent"
配置,高于layout_constraintHorizontal_bias
配置
配置layout_constraintHorizontal_weight
之后,layout_constraintHorizontal_chainStyle
无效
Group
中app:constraint_referenced_ids
引用其他Group
的id
无效
补充学习代码xml
<?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="match_parent" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="50dp" android:text="TextView1" android:gravity="center" android:id="@+id/tv1" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" app:layout_constraintTop_toTopOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" android:background="@android:color/holo_red_dark"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView2" android:id="@+id/tv2" app:layout_constraintCircle="@id/tv1" app:layout_constraintCircleAngle="120" app:layout_constraintCircleRadius="80dp" android:background="@android:color/holo_blue_dark"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView3" android:id="@+id/tv3" app:layout_goneMarginLeft="100dp" app:layout_constraintLeft_toRightOf="@id/tv1" app:layout_constraintTop_toTopOf="@id/tv1" app:layout_constraintBaseline_toBaselineOf="@id/tv1" android:background="@android:color/holo_green_dark"/> <TextView android:layout_width="wrap_content" android:layout_height="0dp" android:text="TextView4" android:id="@+id/tv4" android:layout_marginTop="50dp" app:layout_constraintDimensionRatio="4:2" app:layout_constraintTop_toBottomOf="@+id/tv3" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintHorizontal_bias="0.1" android:layout_marginLeft="100dp" android:background="@android:color/holo_orange_dark"/> <TextView android:layout_marginTop="20dp" app:layout_constraintTop_toBottomOf="@+id/tv4" android:background="@android:color/holo_blue_light" android:id="@+id/tv5" android:text="TextView5" android:layout_width="0dp" app:layout_constraintHorizontal_weight="1" android:layout_height="wrap_content" app:layout_constraintHorizontal_chainStyle="spread" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toLeftOf="@+id/tv6"/> <TextView app:layout_constraintTop_toTopOf="@+id/tv5" android:background="@android:color/holo_blue_dark" android:id="@+id/tv6" android:text="TextView6" android:layout_width="0dp" app:layout_constraintHorizontal_weight="2" android:layout_height="50dp" app:layout_constraintLeft_toRightOf="@+id/tv5" app:layout_constraintRight_toLeftOf="@+id/tv7"/> <TextView app:layout_constraintTop_toTopOf="@+id/tv5" android:background="@android:color/holo_blue_bright" android:id="@+id/tv7" android:text="TextView7" android:layout_width="0dp" app:layout_constraintHorizontal_weight="3" android:layout_height="60dp" app:layout_constraintLeft_toRightOf="@+id/tv6" app:layout_constraintRight_toLeftOf="@id/tv8" /> <TextView app:layout_constraintTop_toTopOf="@+id/tv5" android:background="@android:color/holo_blue_light" android:id="@+id/tv8" android:text="TextView8" android:layout_width="0dp" app:layout_constraintHorizontal_weight="4" android:layout_height="70dp" app:layout_constraintLeft_toRightOf="@+id/tv7" app:layout_constraintRight_toRightOf="parent"/> <android.support.constraint.Barrier android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/barrier" app:barrierDirection="bottom" app:constraint_referenced_ids="tv5,tv6,tv7,tv8"/> <TextView app:layout_constraintTop_toBottomOf="@id/barrier" android:id="@+id/tv9" android:text="TextView9" android:layout_marginTop="20dp" android:background="@android:color/holo_orange_dark" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <android.support.constraint.Group android:id="@+id/group1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:visibility="visible" app:constraint_referenced_ids="tv5,tv6,tv7,tv8"/> <android.support.constraint.Group android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/group2" android:visibility="visible" app:constraint_referenced_ids="group1,tv9"/> <android.support.constraint.Placeholder android:layout_marginTop="20dp" android:layout_width="100dp" android:layout_height="100dp" android:id="@+id/placeholder" app:layout_constraintTop_toBottomOf="@+id/tv9" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent"/> <android.support.constraint.Guideline android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/guideline1" app:layout_constraintGuide_percent="0.5"/> <android.support.constraint.Guideline android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/guideline2" app:layout_constraintGuide_percent="0.5"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView10" app:layout_constraintTop_toTopOf="@id/guideline1" app:layout_constraintBottom_toBottomOf="@id/guideline1" app:layout_constraintLeft_toLeftOf="@id/guideline2" app:layout_constraintRight_toRightOf="@id/guideline2" android:background="@android:color/holo_green_light"/> </android.support.constraint.ConstraintLayout>
运行截图
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。