使用Barrier对齐ConstraintLayout几个控件的最高的一个

前提就是想让一个控件X,对齐A,B,C等控件最高的位置,直接看图。

看,由于name的一行,或者2行,会导致email行的高度,可能比image块高,也可能比image快矮。

那么,往下的控件我该如何实现呢?

xml 复制代码
           <ImageView
            android:id="@+id/image"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_width="65dp"
            android:layout_height="65dp"/>

        <TextView
            android:id="@+id/name"
            app:layout_constraintStart_toEndOf="@id/image"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="@id/image"
            android:layout_marginStart="16dp"
            android:layout_width="0dp"
            android:maxLines="2"
            android:ellipsize="end"
            android:layout_height="wrap_content"
            tools:text="This is a looog name here for this name"/>

        <TextView
            android:id="@+id/email"
            app:layout_constraintStart_toEndOf="@id/image"
            app:layout_constraintEnd_toEndOf="parent"
            android:layout_marginStart="16dp"
            android:textSize="16dp"
            android:layout_width="0dp"
            android:maxLines="1"
            android:ellipsize="end"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toBottomOf="@id/name"
            android:layout_marginTop="4dp"
            tools:text="abc@email.com" />

        <androidx.constraintlayout.widget.Barrier
            android:id="@+id/lowestBarrier"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:barrierDirection="bottom"
            app:constraint_referenced_ids="image,email" />

		<View
            android:layout_marginTop="12dp"
            app:layout_constraintTop_toBottomOf="@id/lowestBarrier"
			...>

使用Barrier对齐ConstraintLayout几个控件的最高的一个。如上图虚线处,就是Barrier的位置。下面的控件就可以根据Barrier位置来做对齐了。

相关推荐
BoomHe8 小时前
Android Framework 文件应用移植到 AndroidStudio
android
传奇开心果编程9 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
>Andre<10 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件
事圆则缓11 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
mmsx11 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
Godikov12 小时前
Android 工业终端保活实战:前台服务 + 开机自启 + 更新自启的三重保障
android
字节暗面12 小时前
SO加固强度怎么量化?腾讯ACE与FairGuard静态分析实测
android·逆向
终端安全笔记14 小时前
描述文件、企业证书、MDM 不是三个名字,是三层
android·ios·智能手机
字节暗面14 小时前
一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
android·逆向工程·游戏加固
传奇开心果编程15 小时前
【Jetpack Compose基础语法学与练】第9课 SideEffect副作用 + LaunchedEffect,处理异步任务和生命周期
android·学习·ui·kotlin·android jetpack