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

前提就是想让一个控件X,对齐A,B,C等控件最高的位置,直接看图。
请添加图片描述
请添加图片描述
看,由于name的一行,或者2行,会导致email行的高度,可能比image块高,也可能比image快矮。

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

           <ImageViewandroid:id="@+id/image"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"android:layout_width="65dp"android:layout_height="65dp"/><TextViewandroid: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"/><TextViewandroid: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.Barrierandroid:id="@+id/lowestBarrier"android:layout_width="wrap_content"android:layout_height="wrap_content"app:barrierDirection="bottom"app:constraint_referenced_ids="image,email" /><Viewandroid:layout_marginTop="12dp"app:layout_constraintTop_toBottomOf="@id/lowestBarrier"...>

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何与施耐德Schneider建立EDI连接?

EDI基础知识 何为EDI&#xff1f;是一个软件、系统还是一种流程呢&#xff1f;准确来说&#xff0c;EDI全称Electronic Data Interchange&#xff0c;中文名称是电子数据交换&#xff0c;也被称为“无纸化贸易”。EDI是&#xff1a; 标准化的数据格式连接业务系统间的数据桥梁…

支持开源欧拉openEuler!米尔基于海思Hi3093核心板上市!

新品播报&#xff01;米尔电子发布了基于海思Hi3093高性能MPU的MYC-LHi3093核心板及开发板, 此款核心板支持openEuler embedded OS欧拉系统&#xff0c;丰富生态&#xff0c;可实现100%全国产自主可控。不仅如此&#xff0c;米尔基于Hi3093的核心板及开发板&#xff0c;配套提供…

谷歌浏览器调用相同url数据不刷新

原代码 原因 谷歌浏览访问相同接口默认调用缓存数据 解决方案 添加时间戳

算法打卡day25|回溯法篇05|Leetcode 491.递增子序列、46.全排列、47.全排列 II

算法题 Leetcode 491.递增子序列 题目链接:491.递增子序列 大佬视频讲解&#xff1a;递增子序列视频讲解 个人思路 和昨天的子集2有点像&#xff0c;但昨天的题是通过排序&#xff0c;再加一个标记数组来达到去重的目的。 而本题求自增子序列&#xff0c;是不能对原数组进行…

面试算法-69-三角形最小路径和

题目 给定一个三角形 triangle &#xff0c;找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说&#xff0c;如果正位于当前行的下标 i &#xff0c;那…

NSSCTF Round#11 Basic ez_signin

题目&#xff1a; from Crypto.Util.number import * from secret import flagp getPrime(512) q getPrime(512) assert p > q n p*q e 65536 m bytes_to_long(flag) num1 (pow(p,e,n)-pow(q,e,n)) % n num2 pow(p-q,e,n) c pow(m,e,n)print("num1",num1…

智慧城市的发展趋势与挑战:未来展望

随着信息技术的飞速发展&#xff0c;智慧城市已成为现代城市发展的重要方向。智慧城市通过集成应用先进的信息通信技术&#xff0c;实现城市管理、服务、运行的智能化&#xff0c;为城市的可持续发展注入了新的活力。然而&#xff0c;在智慧城市的发展过程中&#xff0c;也面临…

hadoop namenode 查看日志里面报错8485无法连接

一、通过日志排查问题&#xff1a; 1、首先我通过jpsall命令查看我的进程&#xff0c;发现namenode都没有开启 2、找到问题后首先进入我的日志目录里查看namenode.log [rootnode01 ~]# /opt/yjx/hadoop-3.3.4/logs/ [rootnode01 ~]# ll [rootnode01 ~]# cat hadoop-root-nam…

云农场种植、领养、收获,认养模式新浪潮

​ 小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 在…

基于Springboot的疫情物资管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的疫情物资管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构…

Redis中的缓存雪崩

缓存雪崩 &#x1f914;现象分析 缓存雪崩是指在同一时段大量的缓存key同时失效或者缓存服务(Redis等)宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 &#x1f44a; 解决方案 利用Redis集群提高服务的可用性&#xff0c;避免缓存服务宕机给缓存业务添…

GZ083 产品艺术设计赛题第十

全国职业院校技能大赛 产品艺术设计赛项赛题十 赛项名称 产品艺术设计 英语名称 Product Art Design 赛项编号 GZ083 归属产业 数字产业 任务名称 “绣羽鸣春”鸟形象主题文具收纳袋设计 赛项组别 中职组 高职组 □学生组 □教师组 □师生联队试点赛项 R学生组 …

如何添加超时机制

在Arduino或其他嵌入式系统中添加超时机制可以确保系统不会无限期地等待某个事件或响应。超时机制通常用于串行通信、传感器读取或任何需要等待外部输入的场景。以下是如何在Arduino代码中实现超时机制的方法&#xff1a; (1)使用millis()函数&#xff1a; millis()函数返回从A…

PyTorch Lightning 与 TensorBoard 问题解决文档

PyTorch Lightning 与 TensorBoard 问题解决文档 🛠️ 简介 本文档旨在总结在使用 PyTorch Lightning 进行深度学习模型训练和使用 TensorBoard 进行训练过程可视化时遇到的常见问题及其解决方案。 问题及解决方案 问题 1: 远程训练与本地可视化 描述: 在远程服务器上使…

【Hadoop】使用Scala与Spark连接ClickHouse进行数据处理

风不懂 不懂得 叶的梦 月不听 不听闻 窗里琴声意难穷 水不见 不曾见 绿消红 霜不知 不知晓 将别人怎道珍重 落叶有风才敢 做一个 会飞的梦 孤窗有月才敢 登高在 夜里从容 桃花有水才怕 身是客 身是客 此景不能久 &#x1f3b5; Tie Yann (铁阳)、薄彩生《…

gofly框架api接口请求合法性验证

验证说明 api接口请求头带合法性参数&#xff0c;用来验证客户端请求是否来自自己授权的应用发起&#xff0c;这个防止api接口被第三方盗用&#xff0c;影响系统性能及数据安全。 服务端配置 配置文件在&#xff1a;resource/config.yaml&#xff0c;配置参数为app:下的apis…

zookeeper分布式锁原理剖析

在ZooKeeper的CLI中&#xff0c;create命令用于在指定路径上创建一个新的节点。以下是create命令的参数解释&#xff1a; -s&#xff1a;顺序节点标志。如果指定了该选项&#xff0c;则创建的节点将是顺序节点。顺序节点的名称将以“path”后跟一个连字符和递增的数字序列结尾…

如何暴露一些方法在线上使用呢?瞧瞧本文适合胃口不。

1. 介绍 逻辑介绍&#xff1a;通过时间对齐方式来控制是否可以访问某些方法。 2. 实现 实现代码如下 (() > {const aes { l: {}, decrypt: () > { console.log(520m) } }const limitLogin () > {const time new Date();const week time.getDay();const hours …

二叉树|257.二叉树的所有路径

力扣题目链接 class Solution { private:void traversal(TreeNode* cur, vector<int>& path, vector<string>& result) {path.push_back(cur->val); // 中&#xff0c;中为什么写在这里&#xff0c;因为最后一个节点也要加入到path中 // 这才到了叶子节…

架构之伸缩性维度

伸缩性的主要场景&#xff1a;电商的秒杀和抢购 热点业务&#xff1a;支付、下单、添加购物车、商品详情页、搜索 热点数据&#xff1a;秒杀产品、动态数据、静态数据 伸缩性实现方案&#xff1a; 无状态应用弹性伸缩&#xff1a;无服务器化Serverless serverless实现&#xf…