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

未来布局之星——ConstraintLayout

ConstraintLayout的出现将开发者带入可视化布局编程的新纪元,通过建立控件之间的约束,实现布局的构建。...打开AndroidStudio,新建一个工程,找到布局文件activity_main.xml,打开让其Design方式显示,如下图所示。...除了居中,约束还可以设置控件两到边界之间的距离比例,通过在右侧属性面板中,拖动水平和垂直方向的进度条来调整两距离的比例。 ?...如下图所示,在调整按钮宽度后,两个按钮的左右两添加约束,然后下方按钮的上边与上方按钮的下边添加约束,拖动下方的按钮,可设置两个按钮之间的外边。 ?...设置any size 这里说明一下,ConstraintLayout其实也有match parent模式,但是因为ConstraintLayout不存在多层嵌套关系,所以match parent

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

深入浅出,官方文档看ConstraintLayout

这样系统就会知道按钮B的左侧被约束在按钮A的右侧,这里的约束可以理解的对齐。 ?...来主要看一下外边的新属性:GONE MARGIN 图 3例,这里的gone margin指的是B向A添加约束后,如果A的可见性变为GONE,这时候B的外边可以改变,也就是B的外边根据...关于目标控件(如图 6中的A)设置GONE时,受约束的控件(如图 6中的B)的外边的变化设置请查看上面的外边小节的GONE MARGIN属性。 ?...设置布局的最小高度 这些最小尺寸当ConstraintLayout设置WRAP_CONTENT时有效。...前两种方式和其他布局的用法相同,最后一种是通过填充约束来重新设置控件的尺寸(如图 7,(a)是wrap_content,(b)是0dp)。代码案例如下: ?

95440

深入浅出,官方文档看ConstraintLayout

:GONE MARGIN 图 3例,这里的gone margin指的是B向A添加约束后,如果A的可见性变为GONE,这时候B的外边可以改变,也就是B的外边根据A的可见性分为两种状态。...关于目标控件(如图 6中的A)设置GONE时,受约束的控件(如图 6中的B)的外边的变化设置请查看上面的外边小节的GONE MARGIN属性。...设置布局的最小高度 这些最小尺寸当ConstraintLayout设置WRAP_CONTENT时有效。...控件尺寸约束 控件的尺寸可以通过android:layout_width和android:layout_height来设置,有三种方式: 使用固定值 使用WRAP_CONTENT 使用0dp(相当于...Fig. 7 - 尺寸约束 前两种方式和其他布局的用法相同,最后一种是通过填充约束来重新设置控件的尺寸(如图 7,(a)是wrap_content,(b)是0dp)。

91230

如何在 C# 中编程方式 CSV 转为 Excel XLSX 文件

在本文中,小编将为大家介绍如何在Java中编程方式【比特币-美元】市场数据CSV文件转化为XLSX 文件。...这会: HttpGet属性 中的 Name更新 GetBTC-USDChartWorkbook, 返回类型更改为 FileContentResult, 注释掉与天气预报相关的代码 添加调用GetCsvData...然后,代码在整个表格范围内添加一个StockVOHLC 类型的工作表 (成交量-开盘-高-低-收盘)新图表,设置图表标题,系列添加到图表中,类别轴单位更改为“月”,更新类别轴刻度标签方向和数字格式,...趋势线蓝色显示成交量的三个月移动平均线 , 绿色显示最高价, 红色显示最低价。...vnd.openxmlformats-officedocument.spreadsheetml.sheet", "BTC_Chart.xlsx"); } } // Get() 运行结果如下所示: 总结 以上就是在C# 中编程方式

14810

还在用Android正经布局来写页面吗?

2、设置margin ,和传统的布局是一样的用法,但是这里要注意的是,必须要设置自己的相对位置(先要指定自己在容器中的位置,可以是相对容器的,也可以是相对某个控件的),如果不设置的话,那么设置...margin是无效的,大家可以试试,在一个ConstraintLayout布局中放一个按钮,除了之外什么都不设置,这样是没有效果的,因为你没有在布局中给它设置相对位置。...3、隐藏空间设置 ConstraintLayout中有以下多种这样的属性: layout_goneMarginStart layout_goneMarginEnd layout_goneMarginLeft...平常我们写标题栏的时候应该都遇到过右边放两个按钮的情况,而且是可以控制显示隐藏的,当最右边的按钮隐藏之后,左边的按钮也要距离右边有一个,这种情况下我们就可以使用上面这些属性来配置布局。...6、尺寸约束 在ConstraintLayout布局中,你可以设置布局的最大和最小尺寸,而且你可通过三种方式设置控件的大小: 特定数值,比如123dp 使用wrap_content,控件将自己计算大小

1.3K30

【约束布局】ConstraintLayout 组件可见性 View.GONE 处理 与 Margin 属性 ( 约束布局可见性处理 | goneMargin 属性 )

, 就会变成一个点 , 其 50dip 的也会消失 如果设置了 layout_goneMarginLeft 属性 , 其消失状态下 , 该有效 --> <Button..., 就会变成一个点 , 其 50dip 的也会消失 如果设置了 layout_goneMarginLeft 属性 , 其消失状态下 , 该有效 --> <Button..., 就会变成一个点 , 其 50dip 的也会消失 如果设置了 layout_goneMarginLeft 属性 , 其消失状态下 , 该有效 --> <Button..., 就会变成一个点 , 其 50dip 的也会消失 如果设置了 layout_goneMarginLeft 属性 , 其消失状态下 , 该有效 --> <Button..., 就会变成一个点 , 其 50dip 的也会消失 如果设置了 layout_goneMarginLeft 属性 , 其消失状态下 , 该有效 --> <Button

1.3K30

【约束布局】ConstraintSet 约束集 ( 简介 | 约束属性集合 | 约束集初始化 | 约束集应用到布局中 | 关键帧动画 | TransitionManager 使用 )

) 中 所有的组件 的 约束条件 , 尺寸 , , 等 约束属性 ; ② 约束集 ConstraintSet 封装内容 : 约束集中封装了 每个组件 的所有 约束布局 属性 ; ③ 约束集应用效果..., , 位置 , 旋转 , 缩放 , 等所有布局类型通用的这些属性 ; ② 应用 约束集所有属性 : void applyTo(ConstraintLayout constraintLayout...) ; 所有的属性 , 传统属性 , 约束属性 , 都应用到约束布局中 ; ③ 应用 传统属性 : void applyCustomAttributes(ConstraintLayout constraintLayout...) ; 某个组件应用 约束布局属性 ; ⑤ 应用 约束属性 : void applyToWithoutCustom(ConstraintLayout constraintLayout) ; 约束属性...ViewGroup 组件 A 的变化结果 , 任何组件的 尺寸 位置 的 变化 , 都会动画形式过渡转换过去 ; VII .

3.1K10

VLC Player如何日志输入到文件中以及设置TCP方式拉取RTSP流

在使用 VLC 播放器器有时需要存储对应的日志分析对应的源头是否可用,因此需要针对 VLC 进行设置。...按照以下方式启动 vlc.exe ,则保证了对应的程序运行: vlc.exe --extraintf=http:logger --verbose=2 --file-logging --logfile=vlc-log.txt...VLC 按照以上运行,则将所有的调试信息写入到 vlc-log.txt 中,在 Windows 下的快捷方式如下配置,在目标中添加 --extraintf=http:logger --verbose=...VLC 如果想 tcp 的方式拉取 rtsp 流,则可以按照以下方式进行设置。工具—偏好设置设置,在输入/编解码器中选择 tcp,则以 tcp 的方式拉取 rtsp 流。...作为音视频行业互联网直播平台,EasyNVR主要功能在于通过RTSP/ONVIF协议,接入前端音视频采集设备,通过EasyNVR软硬件拉取过来的音视频流转化给适合全平台播放的RTMP、HTTP-FLV

2.8K50

一文看懂ConstraintLayout的用法

也可以设置一个不同的: layout_goneMarginStart layout_goneMarginEnd layout_goneMarginLeft layout_goneMarginTop...--当A控件设置Gone之后,希望B控件的左边0dp,那么可以设置layout_goneMarginLeft属性--> <Button android:id="@+id/buttonB...android:maxHeight 当 <em>ConstraintLayout</em>宽高<em>设置</em><em>为</em> wrap_content时,以上属性可以起作用。...<em>设置</em>百分比布局 当 <em>ConstraintLayout</em> 子布局的宽或高<em>设置</em><em>为</em>0dp时,可以对宽或高<em>设置</em>百分比,例如<em>设置</em>一个按钮的宽是屏幕宽度的30%,那么可以这样处理: <android.support.constraint.<em>ConstraintLayout</em>...这时控件的宽高<em>将</em>按照该比例相对于父布局的大小<em>设置</em>宽高。

76230

Jetpack-Compose 学习笔记(二)—— Compose 布局你学会了么?

但是这两种方式都不太优雅,尤其是嵌套过深,或者数据比较敏感,不想暴露给中间层的函数时,这种情况下,就可以使用 CompositionLocal 来隐式的数据传递给所需的 composition 树节点...CompositionLocal 在本质上就是分层的,它可以数据限定在某个 Composable 作为根结点的子树中,而且数据默认会向下传递,当然,当前子树中的某个 Composable 函数可以对该....padding(16.dp) // 内边 16dp ){ Surface( modifier = Modifier.size(50...在 clickable 前后各有一个 padding,前者就是设置的外边,后者就是内边。所以,在 Modifier 中设置 padding 的次序很重要。 2....modifier = Modifier.size(50.dp) ) Spacer(modifier = Modifier.width(10.dp)) // Spacer 也可设置

2.9K31

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

带你领略 ConstraintLayout 1.1 的新功能 约束布局(ConstraintLayout)通过使用 Android Studio 中的可视化编辑器来您生成绝大多数的 UI,进而达到简化...您可以设置它的值 spread,spread_inside 或者 packed。...您不必提供水平和垂直,而是指定圆的角度和半径。这对于像径向菜单这样的角度偏移的视图非常有用! ? image 您可以通过指定要偏移的半径和**角度来创建径向菜单。...然后,您可以 ConstraintSet 应用于 ConstraintLayout,更新所有约束匹配 ConstraintSet 中的约束。...它可以设置以下内容: barriers:找出屏障所在,并用简单的约束取代它们 direct:优化那些直接连接到固定元素的元素,例如屏幕边缘或引导线,并继续优化直接连接到它们的任何元素。

1.7K20

带你领略 ConstraintLayout 1.1 的新功能

您可以设置它的值 spread,spread_inside 或者 packed。...您可以屏障放置于几个元素的开始,顶部,末尾或底部。您可以将其视为制作虚拟组的一种方式 ,因为它不会将此组添加到视图层次结构中。...您不必提供水平和垂直,而是指定圆的角度和半径。这对于像径向菜单这样的角度偏移的视图非常有用! ? 您可以通过指定要偏移的半径和**角度来创建径向菜单。...然后,您可以 ConstraintSet 应用于 ConstraintLayout,更新所有约束匹配 ConstraintSet 中的约束。...它可以设置以下内容: barriers:找出屏障所在,并用简单的约束取代它们 direct:优化那些直接连接到固定元素的元素,例如屏幕边缘或引导线,并继续优化直接连接到它们的任何元素。

1.5K20

再学一次ConstraintLayout 一些新特性

="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" 四、...image.png 和原来是一样的. android:layout_marginStart android:layout_marginEnd android:layout_marginLeft android...image.png 六、Visibility behavior 可见性行为 当一个View在ConstraintLayout中被设置gone,那么你可以把它当做一个点(这个view所有的margin都将失效...例如,如果一个尺寸受两个目标约束(例如,宽度0dp且父节点中心),则可以指示应该约束哪一,通过 在比率前添加字母W(用于约束宽度)或H(用于约束高度),用逗号分隔: <Button android...16:9的比例设置按钮的高度,而按钮的宽度匹配父项的约束。

1.6K40

VV-安卓布局总汇篇

通其理,方用之,是匠者与匠师的差异 如果你不懂牛的构造原理,拿一把屠刀固然可杀牛取肉,但庖丁:神遇而不以目视,官知止而神欲行 提刀而立,之四顾,之踌躇满志,善刀而藏之的感觉也就与你无缘,而这是一位匠者的自豪....png ---- 二、ConstraintLayout 约束布局 大学时学solidworks(3D软件)时便对约束有很深的印象,约束可以实现复杂结构的关联 1.定位属性 AndroidStudio...ConstraintLayout定位属性一览.png ? ConstraintLayout样例.png ---- 2.属性 ?...待定位属性一览.png ---- 3.乖离率---bias: layout_constraintHorizontal_bias layout_constraintVertical_bias 头接父头...打包,提供一个约束参考,有点像分组定位,可惜貌似只能一

69240

【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )

> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/...链头元素选定 : ① 水平方向 : 水平方向上 , 链头 是 最左侧的 控件 ; ② 垂直方向 : 垂直方向上 , 链头 是 最顶部的 控件 ; ---- ( 2 ) 链 间距 链 的 间距 : 1.设置...: 链 中的控件 , 如果设置了 链 的 某个方向上的 , 效果会体现出来 , 2.空间计算 : 在 CHAIN_SPREAD 样式下 , 如果设置了 Margin , 该距离会从剩余的空间中扣除...风格下设置的 ; 2.单个 控件 设置 MATCH_CONSTRAINT 尺寸 : 链 上控件 的尺寸设置 MATCH_CONSTRAINT 属性值 , 该控件会将 链上的 水平 或 垂直 方向的剩余空间...全部占满 ; 3.多个 控件 设置 MATCH_CONSTRAINT 尺寸 : 如果 链 上的 多个控件的尺寸设置 MATCH_CONSTRAINT 属性 , 那么这些控件平均占用链上的剩余空间

2.7K20
领券