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

加权视图之间的ConstraintLayout间距?

加权视图之间的ConstraintLayout间距可以通过设置水平或垂直的链条来实现。链条是一种将多个视图连接在一起的方式,可以通过设置权重来控制它们之间的间距。

在ConstraintLayout中,可以使用以下属性来设置权重和间距:

  1. layout_constraintHorizontal_weight和layout_constraintVertical_weight:这两个属性用于设置视图在水平或垂直方向上的权重。权重越大,视图所占的空间越多。
  2. layout_constraintHorizontal_chainStyle和layout_constraintVertical_chainStyle:这两个属性用于设置链条的样式。常用的样式有:
  • spread:视图之间的间距平均分布。
  • spread_inside:视图之间的间距平均分布,但不包括边界视图与父布局之间的间距。
  • packed:视图紧密排列在一起,间距为0。
  • packed_first:第一个视图与父布局之间的间距为0,其他视图紧密排列在一起。
  1. layout_constraintHorizontal_bias和layout_constraintVertical_bias:这两个属性用于设置视图在水平或垂直方向上的偏移量。偏移量为0表示视图居中,为1表示视图靠近链条的一侧。

通过设置这些属性,可以实现加权视图之间的间距控制。以下是一个示例代码:

代码语言:xml
复制
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button 1"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/button2" />

    <Button
        android:id="@+id/button2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button 2"
        app:layout_constraintHorizontal_weight="2"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintStart_toEndOf="@+id/button1"
        app:layout_constraintEnd_toStartOf="@+id/button3" />

    <Button
        android:id="@+id/button3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Button 3"
        app:layout_constraintHorizontal_weight="1"
        app:layout_constraintHorizontal_chainStyle="spread"
        app:layout_constraintStart_toEndOf="@+id/button2"
        app:layout_constraintEnd_toEndOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

在这个示例中,三个按钮之间的间距根据权重设置,第一个按钮和最后一个按钮的权重为1,中间的按钮的权重为2。链条样式设置为spread,表示间距平均分布。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

用FaceNet的模型计算人脸之间距离(TensorFlow)

128维特征向量,从而通过计算特征向量之间的欧氏距离来得到人脸相似程度。...而这篇文章中他们提出了一个方法系统叫作FaceNet,它直接学习图像到欧式空间上点的映射,其中呢,两张图像所对应的特征的欧式空间上的点的距离直接对应着两个图像是否相似。...人脸之间距离 如上图所示,直接得出不同人脸图片之间的距离,通过距离就可以判断是否是同一个人,阈值大概在1.1左右。...而现在我要做的,就是用训练好的模型文件,实现任意两张人脸图片,计算其FaceNet距离。然后就可以将这个距离用来做其他的事情了。...代码 这里我们需要FaceNet官方的github中获取到的facenet.py文件以供调用,需要注意的是其github中的文件一直在更新,我参考的很多代码中用到的facenet.py文件里方法居然有的存在有的不存在

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

    layout_marginBottom 当前 View 距离目标 View 底部间距 3.目标 View 隐藏时,当前 View 边距 Margins 当目标 View 的可见性为 View.GONE..." ;(这点感觉没啥用,不信你看下面) layout_constraintWidth_percent 或者 layout_constraintHeight_percent 属性设置为介于 0 和 1 之间的值...这里从官方博文中可以得知 Android 绘制视图过程包括如下三个阶段: 测量(Measure) 系统从视图树自顶向下遍历,以确定每个 ViewGroup 和 View 元素大小。...绘制(Draw) 系统执行的一个自上而下的遍历,对于视图树中的每个对象,都会创建一个 Canvas 对象,已将绘图命令发送 GPU。..." android:text="确定" /> 三、RelativeLayout ⭐️⭐️⭐️⭐️ RelativeLayout 是一个以相对位置显示子视图的视图组

    1.9K00

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

    自从ConstraintLayout诞生之后,Android程序员终于跟上时代步伐,也能在约束布局内部随意拖曳控件,同时存在主从关系的控件之间,附庸控件会跟随目标控件一起移动,从而省却了界面微调的大量劳动...,该参数通过setMargins/setMarginStart/setMarginEnd方法设置新控件与周围控件的间距,至于新控件与周围控件的位置约束关系,则可参照ConstraintLayout.LayoutParams...可是按照传统的布局参数方式存在诸多不便之处,比如以下几点就很不合理: 1、控件约束关系的指定,与间距设定是分开的,其他人难以找到二者之间的对应关系; 2、setMargins方法同时设置上下左右四个方向的间距...,无法单独设置某个方向的间距; 3、布局参数在启用时立即生效,没有渐变的过程,让用户觉得很突兀。...方法,一次性指定存在约束关系的两个控件,以及它们的间距; 2、提供setMargin方法,允许单独设置上下左右某个方向的间距; 3、提供了渐变管理类TransitionManager,支持展示空间位置变化的切换动画

    2.1K20

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

    它可以帮助开发者在用户界面上创建复杂的布局,并提供了精确控制视图之间关系和位置的能力。...相较于其他布局容器,ConstraintLayout具有以下特点: 灵活性:ConstraintLayout支持通过设置约束条件来定义视图之间的相对位置和尺寸。...你可以通过拖拽和调整视图的边界、连接线和约束条件来轻松创建和修改布局。 ConstraintLayout的工作原理是通过设置视图之间的宽度、高度和相对位置的约束条件来实现。.../> 设置约束条件:使用约束条件来定义视图之间的位置关系。可以将视图与其他视图或父容器的边界进行连接,并指定视图之间的水平和垂直关系等。...你可以根据需要修改和扩展这个简单的案例,以满足实际的界面需求。 五 总结 ConstraintLayout的工作原理是通过设置视图之间的宽度、高度和相对位置的约束条件来实现。

    44720

    【建议收藏】17个XML布局小技巧

    Space 官网是这么介绍的: Space 是一个轻量级的 View 子类,可用于在通用布局中创建组件之间的间距。...getDefaultSize2(getSuggestedMinimumHeight(), heightMeasureSpec)); } } 所以Space作用于组件之间的间距时...比如你要动态修改组件的margin,如果用Space来当间距,只需要修改Space的宽度或高度即可,因为减少了绘制流程,所以比重绘其他组件更高效。...而在使用ConstraintLayout的过程中,我发现有些同学总是会忽略GuideLine,尽管ConstraintLayout已经非常好用了,但是有些布局仍然显得有些「笨拙」。...当我们明确知道需要显示哪个view的时候,通过ViewStub把实际视图inflate进来,这样就避免了资源浪费。

    91910

    Android 自定义View 之 Mac地址输入框

    这个ConstraintLayout 布局就是View,这个TextView也是View。你说是就是吗?怎么证明呢? 我们来看一下ConstraintLayout 的源码。...现在我们知道View是所有视图的父类,手机屏幕上看到的任何内容都是View。...,属于系统View,也就是原生的控件,那么对于ConstraintLayout和TextView来说,它们的却别是什么?   ...这里我们需要先知道View和ViewGroup的区别,View是一个视图,ViewGroup是一个容器视图,在简单一点说,View只是一个视图,而ViewGroup可以放置多个视图。...这里我们就不考虑padding了,只计算每一个方框的大小和方框之间的间距,首先我们在自定义View中定义两个变量,代码如下: private final int mBoxNum = 6; private

    1.2K20

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

    ConstraintLayout 可使用扁平视图层次结构(无嵌套视图组)创建复杂的大型布局。...它与 RelativeLayout 相似,其中所有的视图均根据同级视图与父布局之间的关系进行布局,但其灵活性要高于 RelativeLayout,并且更易于与 Android Studio 的布局编辑器配合使用...> 基线对齐 将一个视图的文本基线与另一视图的文本基线对齐。...屏障不会定义自己的位置;相反,屏障的位置会随着其中所含视图的位置而移动。 如果希望将视图限制到一组视图而不是某个特定视图,这就非常有用。 竖直屏障示例 这是一个竖直屏障的例子。...> 调整约束偏差 对某个视图的两侧添加约束条件(并且同一维度的视图尺寸为“fixed”或者“wrap Content”)时,则该视图在两个约束条件之间居中且默认偏差为 50%。

    2.6K10

    ConstraintLayout使用场景必知必会

    ConstraintLayout的布局优越性已经不用再强调了,通过ConstraintLayout的约束思想,可以很方便的解决一些之前需要写很复杂的动态代码才能完成的效果。...固定比例视图 考虑下面这个场景,组件宽度撑满屏幕,高度按「宽度x固定比例」计算。...layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> 通过DimensionRatio,可以很方便的实现比例视图的控制...N等分布局 常见的N等分布局,例如三等分布局,通常都需要进行动态计算,根据屏幕宽度,减去间距后得到每部分的宽度,再动态设置给每个元素,而通过ConstraintLayout,则可以直接实现这样的效果。...image-20201231134812154 这其中的间距,主要是通过layout_constraintWidth_percent来设置在当前容器尺寸下所占百分比来进一步约束大小。

    1.3K20

    ConstraintLayout 入门指南

    准备工作 1.1 确保SDK Tools中已经下载了ConstraintLayout(以下简称CL)的支持库: 1.2 gradle中增加对ConstraintLayout的依赖: compile '...自动转换后还是要手动check下效果的。 2.1 相对布局 RL最常见的使用场景:我要控件B在控件A/父布局的上、下、左、右边,我要控件B跟控件A/父布局间距xxx dp。...layout_weight属性常见的使用场景:我要控件A的左间距和右间距的比例为x:(1-x)。...e.g:控件A左间距和右间距的比例是3:7: TL实现(可能并非最优写法) <TableLayout android:layout_width="match_parent" android...相对布局的两个控件,其中一方Visibility == Gone时,另外一方将会根据layout_goneMargin系列属性的值重新规划自己的间距。比较常用于在相对布局中保持各个控件的位置。

    2.5K00

    Infer Constraints,Autoconnect,ConstraintLayout拖拽使用教程

    LinearLayout、RelativeLayout等一样,都是继承自ViewGroup,是view容器 能够用较少的视图层级创建出复杂的视图。...与RelativeLayout 类似,view 的摆放位置取决于 view 之间 或者 view 与 parent 之间的相对位置 可以完全的通过拖拽实现某个页面 (很方便,但是也需要了解如何手动编写xml...方法 (1): 最简单,最直接的方式是,切换到 xml 的 design 视图模式下,然后在左上角的 Layouts 中直接 双击 ConstraintLayout , 然后就会弹窗提示是否添加到依赖...view与父布局的间距(默认模式) Spread inside: 第一个view和最后一个view贴边,空余部分被分配给其他view,作为view之间的间距 Weighted: 如果链条模式是 spread...或者 spread inside ,我们也可以设置一个或多个view的大小为 0dp,从而让view占满余下的间距部分。

    13810

    ConstraintLayout约束控件详解

    简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束。何为约束,即控件之间的关系。 来看一张google给出的一张案例效果: ?...哪么此时无论我移动按钮1到哪儿,按钮2都将在按钮1的右边并间距56dp。 ? 如上图:在这个图中我们看见有3种不同的手柄。 调整手柄 拖动该手柄能帮助你调整整个控件的大小。 ?...约束手柄 这个约束手柄位于控件的四边,在四边上有四个小圆点,拖动该圆点并指向另外的控件的一边,哪么可以让该控件对其到指向的控件。当然你可以设置margin来提供对应的间距。...在属性面板的上面部分是我们的检查员(Inspector),在这个视图中显示了当前选中的控件的约束情况。根据意思很好理解,这里就不详述了。...自动推断 自动推断也是用来辅助用户创建控件约束的;其原理是综合控件之间的关系创建对应的约束条件。

    1.2K50

    探索 MotionLayout 动画世界

    MotionLayout是ConstraintLayout的子类,具有ConstraintLayout的所有功能。...percentWidth、percentHeight :定义宽度和高度的变化量。可以设置为 0 到 1 之间的浮点数,表示从开始状态到结束状态之间的相对变化量。...可以设置为 0 到 1 之间的浮点数,表示相对于视图父级的百分比。 KeyAttribute 指定动画序列中特定时刻的视图属性。 framePosition :定义关键帧在动画中的位置。...可以设置为 0 到 100 之间的整数,表示从动画开始到结束之间的相对位置。 motionTarget :定义应用此关键帧的运动目标。可以是一个视图或者一个运动场景。...motionProgress :定义关键帧的运动进度,即从开始状态到结束状态之间的进度百分比。 alpha :定义视图的不透明度。可以设置为 0 到 1 之间的浮点数,表示视图的透明度。

    17910
    领券