ConstraintLayout

Android ConstraintLayout 基础 首先,在 Android 项目的布局 XML 文件中,将根布局设置为。 阅读详情
简介

更加灵活的布局容器,RelativeLayout 进阶版本,当前记录基于2.1.4版本

1.设置相对位置
layout_constraintLeft_toLeftOf
layout_constraintLeft_toRightOf
layout_constraintRight_toLeftOf
layout_constraintRight_toRightOf
layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf
  • 对齐的对象可以是 子View的id 或者 parent
  • 国际化 RTL 建议使用 start 替换 left,end 替换 right
  • 如果当前布局不需要RTL,可以保留使用 left 和 right
  • BaseLine 是基于文字的基线对齐,2个字体大小不一样的TextView会根据文字底部进行对齐处理
2.设置 Margins
android:layout_marginStart
android:layout_marginEnd
android:layout_marginLeft
android:layout_marginTop
android:layout_marginRight
android:layout_marginBottom
layout_marginBaseline
  • margins 可以为任意数,负数也可以了
3.对于 GONE 的 View 也可以设置Margins
layout_goneMarginStart
layout_goneMarginEnd
layout_goneMarginLeft
layout_goneMarginTop
layout_goneMarginRight
layout_goneMarginBottom
layout_goneMarginBaseline
  • ConstraintLayout 对 GONE 进行了特殊处理,相当于改成了一个像素点的大小,隐藏的时候依然可以保证相对位置,但是大小改变了,设置的时候需要注意下隐藏后的效果。
4.尺寸
WRAP_CONTENT
MATCH_CONSTRAINT (0dp)
MATCH_PARENT

建议使用 MATCH_CONSTRAINT(0dp) 代替 MATCH_PARENT,因为 0dp 也是默认充满全部,但是可以被一些其他属性约束。比如限制最大最小宽度

layout_constraintWidth_max
layout_constraintWidth_min
5.chain

可以设置多个View同时居中显示 packed

    <TextView
        android:id="@+id/tv_title"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/tv_title_kotlin"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/tv_title_kotlin"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@+id/tv_title"
        app:layout_goneMarginStart="16dp" />
资料

ConstraintLayout
使用 ConstraintLayout 构建自适应界面
ConstraintLayout 更新记录
github 地址
解析ConstraintLayout的性能优势

ConstraintLayout各种居中设置 1 全局居中 app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" 2 顶部水平居中 app:layout_constraintEnd_toEndOf="parent" app:layou. 阅读详情

相关推荐

COMSOL网格划分技巧总结

在对马赫曾德尔型光学传感器进行模拟仿真时,在采用自动物理场自动控制网格-极细化的情况下透射谱曲线仍不理想,因此需要手动划分网格来对其进行更精细的剖分。 手动划分的基本原则是在作用边界,热点,曲边处做细致划分, 基底,包层等做粗略划分。对于光波导型的微纳结构,在仿真时一般需要用到创建边界层网格。 1.COMSOL所需要的网格数量 网格单元数越多,结果精细度越高,计算所需内存越多。在细化到一定程度后网格收敛,仿真结果提升不明显。 2.网格剖分类型 ...

qq_42453337的博客 4万+

约束布局 ConstraintLayout 的使用

优点:是可以减少布局嵌套,弥补四大布局比较不好实现的地方,良好支持拖拽,良好支持UI可视化编辑。 缺点:ConstraintLayout作为ListView的Item根布局时设置Item元素可见性,不会触发onLayout,位置不更新。与传统列表结合使用,要慎重考虑。 本文以代码结合可视化UI编辑方式说明

I_can_move_you的专栏 2491

基于Python的手语识别项目(简单版)

总之,看似简单的代码,实则花费了我不少的时间和精力,我曾无数次在深夜的灯光下,与代码为伴,只为了一点点优化,一丝丝提升。让我们一起,以尊重原创的精神,推动编程领域的发展,让这份热爱和技术的力量,照亮更多人的前行之路。模型的建立(---------------本人采用的是开源的asl-alphabet手势识别库,记得放在路径下--------------)current_dir需要根据自己的路径修改!current_dir需要根据自己的路径修改!current_dir需要根据自己的路径修改!

lusen_j的博客 1966

学习笔记:ConstraintLayout

现在创建默认布局都是ConstraintLayout了,所以作为一个安卓开发者不会的话也说不过去,今天就来学习和总结一下吧。 ConstraintLayout有一点点像RelativeLayout,因为它们都需要为控件添加相对于父控件的位置属性。 话不多说开始吧。 首先拖入三个 TextView 控件 将控件拖入后如果没有设置位置依赖(相对于父控件的位置的属性)就会出现感叹号。 最快捷的方法就...

左飞飞的博客 828

中移物联ML307C模组OPENCPU开发环境搭建全攻略

本文详细介绍了中移物联ML307C模组OPENCPU开发环境搭建的全过程。从OPENCPU模式的核心优势解析,到SDK获取、Python与scons工具安装,再到解读SDK目录结构与实战编译命令,最后提供常见问题避坑指南,帮助开发者快速构建高效的物联网应用编译环境。

weixin_29168393的博客 741

4D毫米波雷达与激光雷达融合评测:3种主流融合框架在极端天气下的性能对比

本文深度评测了4D毫米波雷达与激光雷达在极端天气下的三大融合框架性能,包括前融合、特征级融合和后融合。通过实测数据对比,揭示了多传感器融合在暴雨、浓雾等恶劣环境中的显著优势,为自动驾驶感知系统提供了关键的技术参考和工程实践指南。

weixin_28677005的博客 330

Android开发之ConstraintLayout

布局中的神,约束布局

ShadyPi的IT笔记 1673

【ArcGIS风暴】Win10操作系统ArcGIS许可License无法启动的解决方法汇总(绝对成功!)

文章目录1. 关闭Windows Defender2. 关闭系统防火墙3. 删除迈克菲(McAfee)杀毒软件4. 在系统服务中启动 在安装ArcGIS软件时,最重要的一步是许可服务的正常启动,通常,由于各种各样的原因,ArcGIS许可管理器License Manager十有八九会无法启动,点N多次都没反应,如果许可服务不能如愿启动的话,即使Desktop安装成功,也是无法打开的。本文汇总了Win10操作系统之上ArcGIS安装过程中可能会导致服务无法启动的原因及解决办法。 ArcGIS安装参考教程:

智慧空间实验室 2万+

ConstraintLayout的居中显示以及常见问题剖析(二)

开局一张图,博客继续编 上一期博客中,我们介绍了ConstraintLayout的基本属性以及用法 ContraintLayout的基本属性与用法 在结尾抛出了几个问题 1. 两个控件之间怎么居中对齐? 2. 我设置了android:ellipsize=&quot;end&quot;为什么没生效 3. 在某些逻辑下我要隐藏很多控件,为了方便,我在传统布局里可以将这些控件设置在一个ViewGroup里,就可以达到隐藏...

wzlyd1的专栏 1万+

5G无人机安全研究综述

国内多所高校提出混合信任模型,南京航空航天大学于2020年提出了起源信息感知的无人机网络信任模型[26],模型基于报文的完整性对报文创建和操作节点的行为评判并生成观测证据,收集证据进行信任评估,识别网络中的恶意节点并进行路由隔离,实现准确的对等信任评估。同时,5G技术的高速率、高可靠性、低时延等特点,能够为无人机提供实时高清图像回传,保证通信网络的稳定,拓展无人机飞控距离限制,丰富了5G无人机的应用场景。5G和无人机技术的融合,丰富了传统无人机的应用服务场景,然而5G无人机仍存在安全隐患。

weixin_70923796的博客 765

HTML满屏跳动的爱心(完整代码)

HTML语言实现满屏跳动爱心的完整代码。

AIGC 12万+

ConstraintLayout 从入门到精通

Android开发中,ConstraintLayout是一种强大且灵活的布局容器,它通过约束(Constraints)定位UI组件,减少嵌套层级,提升性能。本教程全面介绍了其用法: 核心优势 扁平化布局:减少嵌套,优化渲染性能。 灵活定位:支持相对定位、居中、比例、链式排列等。 可视化编辑:Android Studio提供拖拽式约束设计。 关键功能 基础约束:每个View需至少水平和垂直方向各一个约束。 宽高设置:0dp表示“匹配约束”,自动计算大小。 居中与偏移:通过bias调整位置比例。 高级布局: 比

csdn_silent的博客 1267

vLLM专题(七)-支持的模型列表

vLLM支持跨多种任务的生成式和池化模型。如果一个模型支持多个任务,您可以通过–task参数来设置任务。对于每个任务,我们列出了已在vLLM中实现的模型架构。每个架构旁边,我们列出了一些使用该架构的流行模型。

1257

ConstraintLayout 布局详解

ConstraintLayout 布局详解 简介 约束布局ConstraintLayout 是一个ViewGroup,可以在Api9以上的Android系统使用它,它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整小部件。从 Android Studio 2.3 起,官方的模板默认使用 ConstraintLayout。 优点 在开发过程中经常能遇到一些复杂的UI,可能会出现布局嵌套过多的问题,嵌套得越多,设备绘制视图所需的时间和计算功耗也就越多,ConstraintLayout使用起

st526403649的博客 7812

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Android ConstraintLayout 约束布局的使用

目前Android的默认布局早已改成ConstraintLayout,但是很多小伙伴还是使用过去的相对布局,觉得老的布局用起来熟悉,新布局使用复杂,从而失去了探索新大陆的机会,今天就让我们一起揭开ConstraintLayout的面纱,掌握Android新布局的使用方法。传统的布局容易在版本迭代过程中,造成页面层级过多的问题(俄罗斯套娃),一是对页面渲染有影响,二是不利于开发者的后期维护。

weixin_42604414的博客 4083

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ConstraintLayout 详解

本文主要记录一些 ConstraintLayout用法。

diuping20110926的博客 1316

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android 的 ConstraintLayout 布局使用

加依赖:确保里有。定根布局:根标签用。放视图:把ButtonTextView等放进去。添约束(最关键!:为每个视图的水平方向和垂直方向至少各加一个约束。水平方向:约束Start或End。垂直方向:约束Top或Bottom。常用目标parent(父布局)或其他视图的id。打开 Android Studio 的布局编辑器,直接拖拽控件,观察它自动生成的约束代码,这是最快的学习途径!场景推荐选择理由新项目开发性能好、功能强、现代标准复杂界面减少嵌套、响应式支持好简单相对定位代码更简洁直观。

m0_61945436的博客 1291

基础布局之ConstraintLayout约束布局

基础布局之ConstraintLayout约束布局

似霰的博客 7092

最全面的ConstraintLayout教程

亲自执笔,给大家带来新年第一篇原创文章

郭霖 5845

ConstraintLayout使用总结

ConstraintLayout使用过程中遇到问题记录 android:layout_width="0dp" 效果是一样的,可以自动充满剩余空间 约束布局ConstraintLayout看这一篇就够了 哲♂学三幻神带你学习ConstraintLayout(约束布局) ......

“点点”专栏 4998

Constraintlayout

Constraintlayout译为”约束布局“, 是Google在AndroidStudio2.2引入的布局. 在AndroidStudio 2.3直接替代了之前的Activity创建的默认布局RelativeLayout. 可以看到Google对其重视性.特点 配合布局编辑器,提升效率(鼠标创建布局) 更好的屏幕适配(百分比适配屏幕和控件) 解决布局嵌套过多引起的性能问题(只需要一个根布局就能解

肥宅 3343

ConstraintLayout详解

xml添加Guideline控件,其大部分属性如layout_width都不会生效,通过layout_constraintGuide_begin或者layout_constraintGuide_end设置两侧间距,或者layout_constraintGuide_percent设置父控件百分比,通过orientation设置辅助线是水平或者竖直辅助线。比如要设置layout_marginLeft,则需要有对应的layout_constraintLeft_*。

Oliver Lau的博客 890

Android ConstraintLayout 使用详解

ConstraintLayout是Android官方推出的一种灵活布局管理器,通过约束关系定位UI元素,具有减少嵌套、提升性能的优势。核心功能包括:支持相对定位、边距调整、居中偏移、自适应尺寸和比例约束等。使用前需添加依赖,然后在XML中通过app:layout_constraintXXX属性定义视图间的约束关系。关键特性包括视图居中(bias)、尺寸自适应(0dp)和宽高比设置(ratio),可大幅简化复杂布局的实现。

要乐观,要积极,多笑,多照镜子 1370

优化Android 布局 —— ConstraintLayout

来来来 一起使用 ConstraintLayout 好吧按照惯例 先来“吹一波” ConstraintLayout 的性能优势 减少嵌套 ,尽可能的保持 扁平的的视图结构 如下图: 使用 ConstraintLayout 和 RelativeLayout 的对比 ConstraintLayout 在测量/布局阶段的性能比 RelativeLayout大约高 40%: 可以实现 拖拽绘制...

章鱼哥的博客 441

constraintlayout嵌套_ConstraintLayout 用法

可以看到,第一个Group通过app:constraint_referenced_ids指定了a、c两个控件,这样当该Group可见性为invisible时,a、c的可见性都会变为invisible,为gone则都为gone。所以Group很适合处理有网无网之类的场景,不再需要像之前那样一个一个view控制可见性,通过Group就可以统一处理了。Group有一些注意事项:xml中,可见性配置的优先...

weixin_39829501的博客 526

ConstraintLayout核心原理与生产级实战指南

ConstraintLayout是Android中替代嵌套布局的声明式约束系统,其本质是通过线性方程组求解控件位置与尺寸,在满足所有约束前提下最小化布局偏差。相比RelativeLayout的测量循环依赖和LinearLayout的weight双遍历机制,它以单次测量、可编程坐标系(四向/基线/圆心/百分比)实现更高性能与精准适配。技术价值体现在滑动流畅性提升、多屏像素级还原、动态内容自适应(如Barrier响应文字行数变化)及复杂表单可控缩放。典型应用场景包括底部导航链式分布、聊天气泡左右偏移、折叠屏双列

weixin_30872157的博客 409
上一篇: Android-接入Firebase崩溃统计
下一篇: Android - 接入Unity3D
Client_Block
博客等级 码龄11年 33粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值