首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android从零单排系列三十四】《Android布局介绍——ConstraintLayout

开发者可以使用约束条件(layout_constraintLeft_toLeftOf、layout_constraintTop_toTopOf等)来定义视图其他视图或边界关系,从而精确控制视图在布局位置和大小...app:layout_constraintTop_toTopOf:将视图顶部给定视图顶部对齐。...TextView 1被设置为位于父容器顶部,并与父容器左右边缘对齐。同时,它底部边缘TextView 2顶部边缘对齐。...TextView 2位于TextView 1底部,并与父容器左右边缘对齐。同时,它底部边缘Button顶部边缘对齐。 Button位于TextView 2底部,并与父容器左右边缘对齐。...开发者可以使用约束条件(layout_constraintLeft_toLeftOf、layout_constraintTop_toTopOf等)来定义视图其他视图或边界关系,从而精确控制视图在布局位置和大小

38920

Android经典实战之约束布局ConstraintLayout实用技巧和经验

ConstraintLayout 概述 ConstraintLayout 是一种基于约束布局方式,传统布局( LinearLayout、RelativeLayout)相比,具有更高灵活性和性能...它允许你在视图之间创建多种多样约束条件,比如对齐、比例、偏移等。 基本用法 要使用 ConstraintLayout 需要在布局文件声明它,通常使用 XML 文件来定义约束: 在这个例子,TextView 宽度设为 0dp,表示它会根据约束条件自动调整大小。...它左右边缘约束到父布局左右边缘,顶部底部分别约束到父布局顶部底部,这样它就会在父布局居中显示。...,这些约束可以是父布局或者其他视图边缘。

25410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ConstraintLayout 之 Guideline、Barrier、Chains和Groups

    :1.1.0-beta1' Guidelines 可以简化视图布局对齐方式,特别是如果您在许多元素上重复使用了相同边界值。...Barrier是一个看不见视图,其中包含您用来形成“Barrier”观点。如果其中一个视图增长,则Barrier将其大小调整为所引用项目的最大高度或宽度。...Barrier可以是垂直或水平,并且可以创建到引用视图顶部底部、左侧或右侧。 以下示例可以看出,当调整TextView大小时,Barrier调整大小和受限视图移动。 ?...constraint_layout_chain_modes.png 创建链时与其他略有不同,因为所有视图都具有对它们定义约束,并且链第一个项指定了chainSyle。...不要把这与Android普通ViewGroups混淆。ConstraintLayout一个组仅包含对视图ID引用,而不将组合视图嵌套。

    1.4K50

    Android ConstraintLayout详解「建议收藏」

    最终你将会在Android Studio编辑构建一个相对复杂Layout。...例如,你可以使用widget左侧控键到其他widget右侧控键相隔24dp。 基线约束控键 – 该控键帮助你对齐任意两个widget文字部分,widget大小无关。...我们可以在TextView顶部控键ImageView底部控键创建一个约束,如图: 移除约束:移除某个约束只需点击指定约束控键;移除全部约束需要点击如下按钮: 下一步,创建ImageView...它在UI编辑器右侧。附带有已选择widget各种相关属性,而且还显示了该视图是如何对齐约束。...相对于约束来放置widget – 当在一个widget有至少两个相对连接,比如说顶部底部,或者左侧和右侧,然后就可以使用滑动条来调节widget在链接位置。

    2.1K30

    Android入门教程 | 使用 ConstraintLayout 构建自适应界面

    它与 RelativeLayout 相似,其中所有的视图均根据同级视图父布局之间关系进行布局,但其灵活性要高于 RelativeLayout,并且更易于 Android Studio 布局编辑器配合使用...第一个Start表示自身起始位置(默认是左边)。第二个toStartOf表示对齐参照物起始位置。 app:layout_constraintTop_toTopOf也类似。参照物顶部对齐。...指定位置字眼,Top、Bottom、End、Start,它们组合使用可用来确定相对位置:app:layout_constraint{}_to{}Of 相对父 layout 定位 将子 view 对齐到父...> 基线对齐 将一个视图文本基线另一视图文本基线对齐。...> 调整视图尺寸 这里调整是子 view 尺寸。

    2.5K10

    代码实验室--带你一步步理解使用 ConstraintLayout

    这种手柄在此 codelab 也被称作锚点. 基准线约束手柄: 基准线约束 handle 帮助你对齐两个控件文本区域, 控件尺寸无关....在你想使用两个不同大小控件同时又想保持其中文字对齐时候很有帮助. 约束系统规则 除了以下情况外, 布局控件锚点可以连接到其它控件任意锚点....> 切换到显示为编辑器窗口底部一个标签页 Design 视图....选择好后, ImageViewe 出现在布局上, 你可以"约束系统概述"中提到一样点击拖动角以调整图片大小....选择一个不同设备, Nexus 6P 或者 Nexus 9 以检查布局渲染正确. 你现在已经看到使用约束系统整个系列: 创建手工约束, 使用自动连接约束, 还有使用推理引擎约束.

    2.7K60

    Android开发笔记(一百四十九)约束布局ConstraintLayout

    在XML文件调整控件布局 传统布局线性布局、相对布局基本是在XML文件手工添加控件节点,约束布局当然也允许在布局文件中指定控件相对位置,这跟相对布局内部控件位置调整类似,只不过用来表示位置属性换了个名字罢了...该控件顶部另一个控件底部对齐 layout_constraintBottom_toTopOf : 该控件底部另一个控件顶部对齐 layout_constraintBottom_toBottomOf...下列属性说明: topToTop : 当前控件顶部指定ID控件顶部对齐 topToBottom : 当前控件顶部指定ID控件底部对齐 bottomToTop : 当前控件底部指定ID控件顶部对齐...bottomToBottom : 当前控件底部指定ID控件底部对齐 startToStart : 当前控件左侧指定ID控件左侧对齐 startToEnd : 当前控件左侧指定ID控件右侧对齐...在代码动态调整控件位置 有时根据用户在界面上操作,需要立即调整相关控件显示位置,这要在代码修改控件位置参数。

    2.1K20

    带你领略 ConstraintLayout 1.1 新功能前言带你领略 ConstraintLayout 1.1 新功能

    spread:均匀分配链所有视图 spread_inside:将第一个元素和最后一个元素放置在边缘上,并均匀分布其余元素 packed:将元素包裹在链条中心 屏障 如果您有几个视图会在运行时更改大小...您可以将屏障放置于几个元素开始,顶部,末尾或底部。您可以将其视为制作虚拟组一种方式 ,因为它不会将此组添加到视图层次结构。...在布置国际化字符串或显示用户生成无法预测大小内容时,屏障非常有用。 ? image 屏障允许您通过几个视图来创建一个约束。 屏障将始终将自己置于虚拟群组之外,并且您可以使用它来限制其他视图。...这对于像径向菜单这样角度偏移视图将非常有用! ? image 您可以通过指定要偏移半径和**角度来创建径向菜单。 创建圆形约束时,请注意,角度从顶部开始并顺时针进行。...要使其具有动画效果,请使用 support library TransitionManager.beginDelayedTransition() 方法。

    1.7K20

    Android Notes|细数「八大布局」那些事儿

    底部对标目标 View 顶部 layout_constraintBottom_toBottomOf 当前 View 底部对标目标 View 底部 layout_constraintBaseline_toBaselineOf...> 这里再次回顾下当前例子关键内容: 属性 作用 layout_constraintStart_toStartOf 当取值为 parent 代表父容器对齐 layout_constraintEnd_toEndOf...这里从官方博文中可以得知 Android 绘制视图过程包括如下三个阶段: 测量(Measure) 系统从视图树自顶向下遍历,以确定每个 ViewGroup 和 View 元素大小。...绘制(Draw) 系统执行一个自上而下遍历,对于视图每个对象,都会创建一个 Canvas 对象,已将绘图命令发送 GPU。...这些命令包括 ViewGroup 和 View 大小、位置,这是系统在前两个阶段确定内容。 所以,我们可以得出一个概念,绘制层级越深,消耗越大。反之,消耗则低,性能越高。

    1.8K00

    带你领略 ConstraintLayout 1.1 新功能

    spread:均匀分配链所有视图 spread_inside:将第一个元素和最后一个元素放置在边缘上,并均匀分布其余元素 packed:将元素包裹在链条中心 屏障 如果您有几个视图会在运行时更改大小...您可以将屏障放置于几个元素开始,顶部,末尾或底部。您可以将其视为制作虚拟组一种方式 ,因为它不会将此组添加到视图层次结构。...在布置国际化字符串或显示用户生成无法预测大小内容时,屏障非常有用。 ? 屏障允许您通过几个视图来创建一个约束。 屏障将始终将自己置于虚拟群组之外,并且您可以使用它来限制其他视图。...这对于像径向菜单这样角度偏移视图将非常有用! ? 您可以通过指定要偏移半径和**角度来创建径向菜单。 创建圆形约束时,请注意,角度从顶部开始并顺时针进行。...要使其具有动画效果,请使用 support library TransitionManager.beginDelayedTransition() 方法。

    1.5K20

    未来布局之星——ConstraintLayout

    切换视图 点击菜单栏Show Design、Show Blueprint和Show Design + Blueprint按钮可以对操作视图进行切换,如下图所示: ?...Button控件约束 将按钮下边圆圈拖至ConstraintLayout底部,则按钮移动至底部;再将按钮上边圆圈拖动至ConstraintLayout顶部,垂直方向上有两个约束按钮控件就会实现垂直居中...添加约束 约束位置比例调整 当然如果ConstraintLayout添加约束仅仅能实现水平、垂直居中,那么它在功能上RelativeLayout就没有差别了。...调整约束位置比例 控件之间添加约束 除了ConstraintLayout添加约束,控件控件之间同样可以添加约束。...调整控件外边距 这时候可以修改属性面板数值来调整控件外边距大小,如下图所示: ?

    1.9K20

    自律给你自由——Android设计布局新姿势

    这个界面主要分成下面几个部分: 左侧边栏,包括Palette组件库和Component Tree 中间是布局设计器,包括两部分,左边是视图预览,右边是布局约束 右侧边栏,上面是类似盒子模型边界和大小布局设计器...这里主要包含几种类型约束 尺寸约束 边界约束 基准线约束 我们一一来看。 尺寸约束 尺寸约束使用是『实心方块』,如图: ? 这个很好理解,就是调整组件大小。...实际测试下来,这个功能可以很方便在拖动组件时候,帮你写好约束,但有些精确调整,还是需要手动去创建。...7Align 在工具栏,可以使用对齐工具,快速给选定组件设置对齐约束,如图: ? 我们可以来演示下: ?...『期望组件顶部指定组件底部对齐』,那么了解了这个解释方式,其它属性就很好理解了,所以说,虽然ConstraintLayout不太建议通过代码来布局了,但能理解代码含义,对理解ConstraintLayout

    94010

    【Android从零单排系列三十】《Android布局介绍——RelativeLayout》

    你可以通过在子视图属性中指定相对于其他视图位置进行布局,例如使用android:layout_alignParentTop将一个视图与其父容器顶部对齐,或使用android:layout_below...对齐方式:RelativeLayout支持多种对齐方式来控制子视图位置,包括父容器对齐android:layout_alignParentTop)、与其他视图对齐android:layout_toRightOf...按钮通过android:layout_alignParentTop="true"和android:layout_alignParentLeft="true"属性值,将其父容器顶部和左侧对齐。...通过findViewById()方法获取RelativeLayout容器和子视图引用,并使用关联LayoutParams来调整它们位置和大小: RelativeLayout relativeLayout...android:layout_alignParentBottom:将视图父容器底部对齐。 android:layout_alignParentLeft:将视图父容器左侧对齐

    50230

    iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

    如果用户可以在你应用程序打开超过20个视图,请考虑给视图一个不同展示方式,以提供关于视图详细信息,使其支持不连续导航。 在打开视图底部边缘和屏幕底部边缘里垂直居中页面控件。...避免在同一个分段控件,一些分段里使用纯文字,另一些分段里使用纯图。 请在必要时调整分段控件中文本对齐方式。如果你给分段控件添加了自定义底图,请确保控件里自动居中文本依然清晰美观。...你可以通过bar metrics APIs 来调整分段控件内文本对齐方式(想要了解如何定义bar metrics,可以参考 UISegmentedControl 关于自定义API外观(appearance-customization...不要用引号,但保证大写 确保警告框在竖屏和横屏均显示正常。横屏模式下警告框高度会受到限制,其大小竖屏下可能会有区别。...在操作列表顶部使用文字颜色为红色按钮,因为越靠近列表顶部操作越容易引起用户注意。在iPhone里,潜在风险操作离列表底部越远,用户在关注Home键时候就越不容易误点它。 ?

    13.2K30

    Blender 甜甜圈制作

    相机对齐到当前视角 - 对齐Crtl + Alt + 0(数字键) - 视图 -> 摄像机 -> 设置活动物体为摄像机 - 或者选中相机 -> 设为 活动摄像机...`设置原心` -> `几何中心 -> 原点` - 添加节点 `实用工具` -> `欧拉旋转` 到 `分布点于面上` *旋转* `实例化点上` *旋转* 之间,可以调整三个坐标值看看效果.../img/donuts/ji_he2.png) - 移除 *糖衣* 水滴上 *糖针* - 修改 `权重绘制` 模式,F 调整画笔 大小, Shift + F 调整画笔 强度,绘制权重分布区...为糖针添加颜色 - 选中 *糖针* 切换 `Shading` 窗口 - 修改 *糖针* 颜色 - 复制 *糖针* 多创建几个 *糖针*,并调整各个 *糖针* 大小使其不同...修改 *糖衣* 糖针 - 选中 *糖衣* 切换到顶部窗口 `Ceometry Nodes` - 添加节点 `输入` -> `集合信息` - 修改 *糖衣* `实例化于点上

    1.3K00

    例说 Constraint Layout:初探

    扁而浅布局使其性能突出,同时又很符合我们思考方式,撰写起来方便而优雅。如图三谷歌 Demo 里约束布局,谁能想到,这个完整又不失设计感界面只有一层,完全没有嵌套! ? Figure 3....实际上,所有其他布局管理器能做ConstraintLayout 基本上都能做到,它可以同时具备好几种布局管理器功能。...下面我们来看个例子:RelativeLayout 是无法实现一行多个 View 等间隔排列布局,譬如下图这样五个 icon 等间隔排布顶部栏。 ? Figure 4....当一个 View 可见性被设置为 GONE时,相对于它那些 View 仍能保持在正确位置上,也能根据情况重新布局(详见续作《例说(二)》)。 5....当然无论是上述那种方式,开发者还是需要对自动推断结果进行适当调整才能获得满意效果,尤其要考虑对不同屏幕尺寸及方向适配。

    2.1K10

    Constraintlayout约束布局三问

    但是ConstraintLayout功能可多了去了,可以设置比例,设置在控件位置,可以设置view中心距离,还可以设置辅助线。...constraintlayout属性详解(仅包括Constraintlayout单独包含属性) 基本位置约束 此类控件表示与其他控件或者父view位置。..." 我底部父view底部对齐 居中效果 设置位置,左边父布局左边对齐,右边父布局右边对齐,就会形成左右一个平局拉力,也就居中显示父布局了。...app:layout_constraintHorizontal_weight="2" 比如上面给A设置权重为2,其他为1,宽设置为0dp,那么ABC宽度就会按照2:1:1分布 虚拟视图辅助线Guideline...在Constraintlayout,可以画辅助线,可以理解为一个实际view,一条线,但是不会显示。

    1.6K10

    可折叠设备桌面模式

    这是一个简单媒体播放器案例,它会自动调节尺寸以避免让折叠处出现在画面中间,并且调整播放控制组件位置,从屏幕完全展开时嵌入画面,变为当屏幕部分折叠时显示为单独面板。...如果您要实现横屏功能,那么大多数时候,边界会以一个在屏幕垂直居中矩形来表示,它和屏幕一样宽,并且高度铰链相同 (对于可折叠设备而言值为 0,对于双屏幕设备而言会是两个屏幕之间距离)。...在其他所有情况下 (非全屏) 您需要考虑导航栏或屏幕上其他 UI 组件占据空间。 为了移动参考线,您必须指定它距离父布局底部距离。...* 这里计算默认会包含内边距。...displayFeature 边界矩形视图边界矩形相交以裁剪边界。

    2.4K30
    领券