ConstraintLayout
转载:https://www.jianshu.com/p/a74557359882
工作中遇到的场景,记录一下
A,B 两控件,B 在 A 的右侧,随着 A,B 宽度的增加,B 始终在 A 的右侧,当 A ,B 控件的宽度之和大于父控件的宽度时,B 要求被完全显示,同时 A 被挤压。我相信大家肯定也遇到过类似的需求,并且相当不好处理,只通过布局文件,不论是使用线性布局,还是相对布局都没法实现。当初我是通过计算文本的宽度来控制父控件的左右对齐方式来实现的,并且有误差。那么ConstraintLayout又是怎么只通过布局文件去实现的呢?
```java
<Button android:id="@+id/bt_1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"app:layout_constrainedWidth="true"// 设置为trueapp:layout_constraintHorizontal_bias="0"// 设置水平偏好为0app:layout_constraintHorizontal_chainStyle="packed"//设置链样式app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toLeftOf="@+id/bt_2"app:layout_constraintTop_toTopOf="parent"/><Button android:id="@+id/bt_2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="BBBBBBBBBBB"app:layout_constrainedWidth="true"app:layout_constraintLeft_toRightOf="@+id/bt_1"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"/>
```
<LinearLayout
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:orientation = "horizontal" >
<TextView
android:id="@+id/txt_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_gravity="center_vertical"
android:layout_weight = "1"
android:ellipsize = "end"
android:singleLine="true"
android:text="13535669090"
android:textColor="#323232"
android:textSize="16sp"/>
<TextView
android:id="@+id/txt_medal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5sp"
android:background="@color/app_main_bg_color"
android:text="金牌经纪"
android:maxLines="1"
android:textColor="#fff"
android:textSize="13sp"/>
</LinearLayout>
原文链接:https://blog.csdn.net/u014527074/article/details/52924656
网友评论