Android开发之ConstraintLayout

Android架构师成长路线,从不一样的角度描述Android事件传递 其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。上面分享的腾讯、头条、阿里、美团、字节跳动等公司2019-2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。【Android思维脑图(技能树)】知识不体系? 阅读详情

不同于以往的布局,约束布局可以不写代码,而是用类似图形化编程的方式进行布局。

基本功能

新建一个空白项目,进入后就可以看到默认代码本身就是约束布局:
在这里插入图片描述
在右侧预览界面,选中Hello World的文本框,按delete就可以删除,我们可以看到代码也发生了相应的变化:
在这里插入图片描述
在设计界面左侧,我们可以选择组件,拖动放置到预览屏幕中:
在这里插入图片描述
但此时,如果运行虚拟机,会发现该按钮处于屏幕斜上方,与预览界面显示的不一致:
在这里插入图片描述

这是因为我们没有对该组件进行约束,导致组件默认放置于左上角。点击组件四周的圆圈,将其拖动至屏幕边缘,就可以让组件被拉动到紧贴边缘的位置。当四个圆圈都添加约束后,组件就被居中了,如图所示。
在这里插入图片描述
约束布局也可以进行子组件之间相对布局,也是通过组件四周的圆圈之间连接并拖动达成的:
在这里插入图片描述
而右侧的Layout窗口则可以设置组件的偏移,与父容器的间距等:
在这里插入图片描述
其中的箭头可以点击,来切换组件的宽高是wrap_content、match_parent还是fixed,与代码中的对应。
在这里插入图片描述
按钮的文本、id等属性都可以在右侧编辑……

辅助线

因为约束布局类似于图形编程,所以设置一些辅助线方便我们作图也是很合理的,点击左上方的guideline,就可以添加辅助线。点击显示在屏幕上方的圆圈,可以切换尺度(比如像素绝对值、百分比),当我们想要做一条垂直的中线时,就可以切换到百分比,然后拖动至50%处(拖动点击的位置比较苛刻,需要在圆圈底端与屏幕相切处):
在这里插入图片描述
借助这条辅助线,我们就能做出关于中线对称等效果(点击左上角眼睛图案可以选择显示所有约束):
在这里插入图片描述

推导约束

前面也说了,必须要有约束,组件的位置才能跟预览界面一致,否则会默认到左上角。但推导约束(Infer Constraint)可以根据当前拖动出来的布局自动创建约束,堪称大杀器。

先清除我们已有的约束(此时运行模拟器可以看到两个按钮都跑到了左上角):
在这里插入图片描述
再点击推导约束:
在这里插入图片描述
就可以发现自动生成了许多新约束,使得虚拟机运行结果与预览效果一致。

ConstraintLayout,看完一篇真的就够了么?,细数Android开发者的艰辛历程 ConstraintLayout的宽高设为。 阅读详情

相关推荐

Android开发中的ConstraintLayout使用指南

是Google在2016年发布的一种新的布局方式,它能够替代传统的布局方式(如和),提供了更高效的布局设计方法。通过使用,我们可以更精细地控制视图之间的关系,不仅可以减少嵌套层次,还能简化布局的复杂度。为Android开发者提供了强大的布局控制能力。通过学习如何转换布局、设置约束,你可以更灵活地设计你的UI界面。希望这篇博客能帮助你更好地理解和使用。

m0_74337424的博客 168

ConstraintLayout使用指南

可让您使用扁平视图层次结构(无嵌套视图组)创建复杂的大型布局。它与 RelativeLayout相似,其中所有的视图均根据同级视图与父布局之间的关系进行布局,但其灵活性要高于,并且更易于与 Android Studio 的布局编辑器配合使用。的所有功能均可直接通过布局编辑器的可视化工具来使用,因为布局 API 和布局编辑器是专为彼此构建的。因此,您完全可以使用通过拖放的形式(而非修改 XML)来构建布局。

光临天下 1590

WorkBuddy驱动SolidWorks实测:AI建模流程、参数化与许可排查指南

AI辅助三维建模正在改变工程师的重复劳动方式。其核心理念不是替代人的设计决策,而是通过AI智能体接管CAD软件中的草图绘制、特征创建、尺寸修改等高频操作,让工程师从繁琐的GUI交互中解放出来。在SolidWorks这类主流CAD平台上,这类AI助手的落地依赖环境稳定、需求描述清晰和参数化建模规范。通过将外径、孔距等关键尺寸定义为全局变量并用方程式驱动,可实现改一个数、模型自动更新的高效流程;同时,遇到“无法获得许可”等环境故障时,需要按服务状态、安全软件隔离、干净卸载的顺序排查。以WorkBuddy驱动So

weixin_28559803的博客 371

Constraintlayout全解析

平时使用ConstraintLayout,断断续续的,基本都是在自己的小demo里面使用.公司的项目暂时还没有使用.这次公司项目需要大改,我决定用上这个nice的布局.减少嵌套(之前的老代码,实在是嵌套得太深了…无力吐槽). 首先,ConstraintLayout是一个新的布局,它是直接继承自ViewGroup的,所以在兼容性方面是非常好的.官方称可以兼容到API 9.可以放心食用. 一、Re...

潇风寒月 1086

Keil5编译报错:ARM Compiler Version 5缺失的完整解决方案

本文提供了Keil5编译报错“ARM Compiler Version 5缺失”的完整解决方案。详细介绍了手动安装ARM Compiler Version 5的步骤,包括下载安装包、配置编译器路径及常见问题排查,帮助开发者快速恢复老项目的编译环境。

bb456的博客 945

台达伺服B3驱动器参数的设定和CN1的接法

3. B2的电子齿轮比是直接设定P1-44(分子)和P1-45(分母)就就可以的,但是B3的有个隐藏的细节,就是P1-44的默认值77216不用去更改,这是官方客服说的,需要改的是P1-45这个参数,比如说,我使用的丝杆螺距是5mm的,那么就是以5000脉冲走完5mm为一圈,则就把P1-45设定为5000即可;我的是三菱FX3S系列的PLC,是NPN型的,输出点是24V-作为信号的,所以接41、37,具体可参考B3的。,跟着客服的讲解操作才解决的,以下就是解决方法,希望能够帮到需要的各位。

qq_38681017的博客 1万+

学习笔记:ConstraintLayout

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

左飞飞的博客 828

【go-libp2p学习笔记】使用go-libp2p搭建中转服务器(circuit relay server)

libp2p算是一个蛮新的库,提供了非常强大的p2p节点发现/连接/通信能力。IPFS的基石。 中文网上的**技术教程**比较少,所以抛砖引玉开一点坑来体验一下!

Cake_C的博客 6492

(约束布局)ConstraintLayout的辅助控件

constraintlayout布局扩展

ZyClient的博客 2122

乐视三合一体感摄像头--基本信息及windows下部分开发

乐视三合一体感摄像头--基本信息及windows下部分开发Introduction基本信息Windows下使用安装驱动使用openNI使用imageJ调用RGB图像Q:参考资料 Introduction       乐视三合一体感摄像头是乐视对标kinect,做的一款3D体感摄像头;设计目的为用于电视机上体感使用的,包括其USB结构都是为了符合电视机直接操作的,同时是支持相应的游戏操作;但是自从乐视倒闭之后,价格从之前标价899降到了现在140+左

GRF-Sunomikp31 1万+

达梦数据库JDBC连接池断开自动重连设置

一、场景 在网络状况不是非常良好,经常会出现暂时性的拥塞或者断开的情况,而且当我们重启数据库时也会发生类似的情况。所以需要配置中间件的连接池来实现连接测试以及自动重连,通过重新配置连接池,成功解决了这个问题。下面会给出一份数据源配置参数详单和一份推荐的数据源配置项。 二、连接池配置参数 1. initialSize:连接池启动时创建的初始化连接数量 2. maxActive:连接池中可同时连接的最大的连接数 3. maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负

lilv1989的博客 7237

【Android Studio安卓开发】ConstraintLayout约束布局 常用语句

安卓ConstraintLayout布局

weixin_46117362的博客 650

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

RH850从0搭建Autosar开发环境【2X】- Davinci Configurator之EcuC模块配置详解(上)

weixin_42412049的博客 1530

安卓开发Java-布局ConstraintLayout

我建议这个尺寸不要在布局中通过拖拽拉伸来控制它的大小,因为你的代码用到别的板上就尺寸对不上,所以直接手动敲手动改。这是你组件的背景,美化你的组件。上面是官方的解释,我说下简单点我自己开发时的理解,每个组件必须依赖其他组件,这里我没试过是否可以绑定多个组件。简单开发鼠标点击你要的约束的组件,再点击上面红色方框中的绿色点。: 将 Spinner 的开始与 ID 为 "imageView" 的元素的结束对齐。: 将 Spinner 的顶部与 ID 为 "imageView" 的元素的顶部对齐。

xzdjsnb的博客 665

【C++项目】从零实现RPC框架「三」:项⽬抽象层实现

本文详细介绍了如何从零实现一个 C++ RPC(远程过程调用)框架,包括通信抽象、消息抽象、通信实现、以及消息分发器的实现。通过系统化的代码示例,展示了如何构建一个高效、灵活且可扩展的 RPC 框架。

You build it, you run it 2162

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

安卓开发--ConstraintLayout(约束布局)

是一个虚拟的视图容器,它可以将多个子视图合成一个图层,然后对这个图层进行统一的变换,比如旋转(rotation)、缩放(scale)、平移(translation)、透明度(alpha)等。Flow 可以自动调整其子视图的排列方式,支持水平或垂直方向的流式布局,特别适合处理元素数量不固定且布局复杂的场景。Flow 视图会根据子视图的数量和指定的方向(水平或垂直)自动排列其子视图,支持多行或多列布局。最大子视图数量:可以设置每行或每列显示的最大子视图数量,一旦达到最大数目,剩余的视图会自动换行或换列。

m0_50891221的博客 1329

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Android开发技巧:ConstraintLayout布局详解

ConstraintLayout是Android开发中常用的一种布局方式,它为我们提供了更加灵活的布局控制,使我们能够轻松创建复杂的界面。本文将从以下几个方面对ConstraintLayout布局进行详细阐述:ConstraintLayout的优势、ConstraintLayout的使用方法、ConstraintLayout的常见问题及解决方案。此外,还可以使用ConstraintLayout的嵌套布局特性,将多个ConstraintLayout嵌套使用,以减少布局嵌套层级。

2501_91460574的博客 506

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Android开发技巧:ConstraintLayout布局

ConstraintLayout布局在Android开发中具有诸多优势,如提高布局效率、响应式布局等。ConstraintLayout是Android开发中一种强大的布局方式,它可以让开发者以更加灵活和直观的方式构建用户界面。ConstraintLayout通过建立控件之间的约束关系,可以减少嵌套布局的使用,从而提高布局效率。通过设置控件的约束属性,建立控件之间的约束关系。在ConstraintLayout中添加需要布局的控件,并设置其属性。在布局文件中,将ConstraintLayout作为根布局添加。

2501_92489014的博客 408

从ConstraintLayout到MotionLayout:Android布局开发的演进之路

在Android应用开发中,布局系统是构建用户界面的核心。从早期的LinearLayout到RelativeLayout,再到如今的ConstraintLayout和MotionLayout,Android布局技术经历了显著的演进。本文将深入探讨ConstraintLayout如何彻底改变了Android布局开发,并展示MotionLayout如何进一步将静态界面提升为流畅的动画体验。 ## C

gitblog_00014的博客 659

Android studio笔记:安卓基本开发布局(ConstraintLayout)

设置约束条件,就旁边四个小圆圈。其实除了在这里可以设置,在代码中也可以实现。约束布局,字面意思就是可以在Design中自行设置。就是跟VB一样拖拽拉组件就可以了。第二个是推导约束(你放在哪个位置,它就推测你在哪个位置。约束布局的特点:如果我们不给button设置约束条件,它就默认放在左上角。

薛定谔的猫 1016

Android ConstraintLayout 约束布局,Android开发还不会这些

layout_constraintLeft_toLeftOf layout_constraintLeft_toRightOf layout_constraintRight_toLeftOf layout_constraintRight_toRightOf layout_constraintTop_toTopOf layout_constraintTop_toBottomOf layout_constraintBottom_toTopOf layout_constraintBo..

m0_64382743的博客 364

Android应用开发之ConstraintLayout(约束布局)

约束布局使用介绍

u012739527的博客 2347

ConstraintLayout 2,2024年最新android开发实战经典PDF

后面如果要对 view 做CircularReveal直接在 xml 里面指定就可以了,做到了很好的复用。

m0_61331573的博客 903

android开发中的 AndroidX 版本的查看 及 constraintLayout的简单用法

本文介绍了如何查看和使用Android库的版本,并以ConstraintLayout为例展示具体实现。首先说明可通过官网或Maven库查询版本,然后演示了在项目中引入ConstraintLayout(1.1.1版本)的配置方法。重点展示了一个Jetpack Compose实现的销售页面Demo,采用ConstraintLayout构建界面布局,包含左侧分类列表、右侧商品搜索栏和商品列表。代码完整呈现了数据模型、UI组件和交互逻辑,实现了分类切换、商品搜索等功能。该示例展示了ConstraintLayout在

花花鱼的专栏 511

(九)安卓开发中的约束布局(ConstraintLayout)使用详解

ConstraintLayout是安卓开发中一种强大而灵活的布局方式,通过约束关系定义视图位置和尺寸,能够有效减少嵌套、提升性能,并支持复杂界面的快速构建。

cuijiying的博客 1700

Android开发学习记录5:全面了解ConstraintLayout之动画

1.动画的实现原理与限制 原理:将新的布局结构结构设置到当前本布局中。 限制:只能是位置或者尺寸的变化。 2.动画实例 2.1.创建两个内容完全相同的布局文件,将一个设置为当前活动的布局然后对另外一个布局的视图进行位置或者尺寸上的修改。 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.and

weixin_41551630的博客 313
上一篇: Android开发之GridLayout
下一篇: Android开发之ListView(实现列表与其点击事件)
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值