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

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

) ConstraintLayout 最低兼容到 API 9 (即Android 2.3) 二、ConstraintLayout引入和ConstraintLayout布局文件的生成 1、如何引入ConstraintLayout...四、调整约束偏移率(Adjust the constraint bias) 所谓的偏移率可以理解成距离父布局左边框的距离占父布局宽度的百分比,约束的偏移率可以用来调整view的位置。...) 5 偏移率(constraint bias)有垂直偏移率和水平偏移率 图中所示 3 宽高模式共有三种,对应的图标与模式分别如下: 图标 对应的宽高模式 包裹内容(Wrap Content) 填充约束区域...LinearLayout 或者 FrameLayout , 然后使用weight 属性去控制,或者直接使用 固定的dp 值,在或者直接在代码中手动的获取并计算宽高,实际上用这三种方式实现的时候一方面可能会增加布局嵌套...,才可以创建出水平或者垂直链条(这一点在如何创建链条中有说明) 虽然有水平链条也有垂直链条,但是链条本身并不会对齐它所包含的view,所以必要的时候需要借助 对齐约束(alignment)或者 辅助线约束

13710

【翻译】MotionLayout实现折叠工具栏(Part 1)

本系列教程中,我会讲解如何使用 MotionLayout 来创建一个我们已经非常熟悉的动画行为:一个折叠工具栏动画( a Collapsing Toolbar )。...举个例子,一个折叠工具栏应该根据用户的滚动进行展开和折叠,所以实际动画的运行应该时刻跟随用户的拖拽进行。这也是那些框架办不到的地方。 废话不多说,让我们看下我们所要尝试模拟做到的行为动作。...这里的代码展示了一个折叠工具栏,应用了 Material Components Library 库里的 CollapsingToolbarLayout 和 CoordinatorLayout 布局。...如果在设计视图中查看这个布局,我们能看到布局所展示的工具栏处于展开的状态: ?...在折叠状态下它会垂直居中,而在展开状态下它会对齐在底部,因此 TextView 会更多的相对于 ImageView 的大小尺寸来进行相关设定。

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

    Threejs入门之二十二:Threejs中的屏幕坐标转标准设备坐标

    screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量。 screenY:鼠标点击位置相对于电脑屏幕左上角的垂直偏移量。...pageY:鼠标点击位置相对于网页左上角的垂直平偏移量,也就是 clientY + 垂直滚动条滚动的距离。 坐标系上某一个元素的pageX/pageY 不会 随着滚动条滚动而改变。...3 client 坐标原点:浏览器内容区域左上角(即浏览器中用户所看到区域的左上角,内容区域不包括工具栏和滚动条)。...clientX:鼠标点击位置相对于浏览器可视区域的水平偏移量(不会计算水平滚动的距离)。 clientY:鼠标点击位置相对于浏览器可视区域的垂直偏移量(不会计算垂直滚动的距离)。...获取鼠标坐标事件 我们可以通过点击事件回调函数中的event来获取鼠标相关的位置信息addEventListener('click',function(event){ // event对象有很多鼠标事件相关信息

    2.3K10

    【翻译】MotionLayout实现折叠工具栏(Part 2)

    一、前言 本篇是续集,第一篇翻译直达链接:【翻译】MotionLayout实现折叠工具栏(Part 1) 本文特点:没有 Kotlin/Java 代码,讲解部分全为 XML 代码,阅读时间短,获取技能...本系列教程中,我会讲解如何使用 MotionLayout 来创建一个我们已经非常熟悉的动画行为:一个折叠工具栏动画( a Collapsing Toolbar )。...现在我们看看 MotionLayout 的实现,我们会发现图片渐变在整个过渡动画中是统一稳定的。也就是说:随着工具栏折叠动画的开始,图片便立刻发生渐变,一直持续到工具栏完全到达折叠状态: ?...我们已经讨论过 MotionLayout 是如何在 ConstraintSets 中所定义的固定布局之间进行过渡动画了。...最终标题文本会走在工具栏折叠动画之前,接着在折叠完全结束的时候直接回落到正确的位置上: ?

    1.7K30

    CSS进阶03-定位体系,格式化上下文,常规流

    这意味着它们对之后的同胞盒的布局没有影响。同时,即便绝对定位盒有外边距margin,也不同其他任何外边距折叠。...BFC就是页面上的一个隔离的渲染区域,容器里面的子元素不会在布局上影响到外面的元素,反之也是如此。 BFC拥有如下特性: 内部的Box会在垂直方向,从顶部往下一个接一个地放置。...Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生叠加,即会产生margin折叠。...BFC常见用途: 常见的多栏布局,结合块级别元素浮动,里面的元素则是在一个相对隔离的环境里运行。 防止margin折叠。 防止高度塌陷。 4.2....伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox定义了伸缩容器内伸缩项目该如何布局。

    1.7K10

    知识整理之CSS篇

    比如a链接的:link、:actived等,这些信息不存在DOM树结构中,只能通过css选择器来获取。 获取不能被常规CSS选择器获取的信息。...此时偏移属性参照的是离自身最近的定位祖先元素,如果没有定位的祖先元素,则一直回溯到body元素。 盒子的偏移位置不影响常规流中的任何元素,其margin不与其他任何margin折叠(触发BFC)。...-- 重点: margin-top:100px; --> 在margin中有正值有负值的时候,要从所有负值中选出绝对值最大的,所有正值中选择绝对值最大的,二者相加。...将其 margin 值分为两组: 正值:50px,150px,200px 负值:-60px,-100px,-120px 根据有正有负时的计算规则,正值的最大值为 200px,负值中绝对值最大的是 -120px...浮动元素、inline-block 元素、绝对定位元素的 margin 不会和垂直方向上其他元素的 margin 折叠 浮动元素的 margin 在垂直方向上也不会发生 margin 折叠,即使和它相邻的子元素也不会

    1.6K20

    css面试点二:BFC(块级格式化上下文)+常见布局方案

    浮动 (float) 在浮动布局中,元素首先按照普通流的位置出现,然后根据浮动的方向尽可能的向左边或右边偏移,其效果与印刷排版中的文本环绕相似。...它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。...BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。...可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。...或fixe BFC布局规则: 1.内部的Box会在垂直方向,一个接一个地放置(不设置浮动,设置浮动那肯定是左右一行排列了)。

    50720

    折叠屏上应用设计规范,了解一下?

    如何适配不同的屏幕尺寸并保障良好的体验,一直以来都是开发者的一大难题。尤其随着可折叠设备等新兴产品的涌现,适配工作也愈发迫切。...深入理解布局 深入理解布局指南 介绍了布局容器的相关概念,它提供了一个整体框架,可帮助开发者思考如何在屏幕上排列导航栏、工具栏和内容等界面元素。...△ 布局的三个主要区域 指南中的 组合部分 带您了解如何充分利用屏幕空间以保障可读性,并且以尊重用户心智模型的方式在不同的场景下合理排布重要内容和操作选项。...您可以做些调整,比如将支持面板置于一侧,或者在折叠的上半部分展示主页横幅。首先,我们需要知道内容视图在窗口中的位置,通过 getLocationInWindow 可以获取位置信息。...(-viewX, -viewY) return featureRect } △ 获取折叠的位置信息 测试 如果您的应用存在与折叠状态相关的特殊行为,您需要为此编写单元测试。

    4.5K20

    BFC(块级格式化上下文)与常见布局方案

    浮动 (float) 在浮动布局中,元素首先按照普通流的位置出现,然后根据浮动的方向尽可能的向左边或右边偏移,其效果与印刷排版中的文本环绕相似。...BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。...可以把 BFC 理解为一个封闭的大箱子,箱子内部的元素无论如何翻江倒海,都不会影响到外部。...、table-caption、flow-root、flex或者inline-flex position的值为absolute或fixed BFC布局规则: 1.内部的Box会在垂直方向,一个接一个地放置...2.Box垂直方向的距离由margin决定。

    56630

    CSS(三)

    CSS(三) 發佈於 2018-06-28 本篇将讲解盒模型以及外边距折叠的相关知识。 “CSS 盒模型”是一组规则,用于定义如何呈现 Internet 上的每个网页。...在以后的章节中,我们将更多地了解 HTML 结构和 CSS 框模型如何组合以形成各种复杂的页面布局。...Inline boxes 不会影响垂直间距,它们不是用于确定布局,只是用于构建块内的样式 Inline boxes 的宽度基于其所容纳的内容,而与父容器的宽度无关 改变 Box 的行为 我们可以使用...但是,它不会影响周围盒子的垂直布局。 垂直边距折叠 盒子模型的另一个怪癖是”垂直边距折叠”。当你有两个垂直边距彼此相邻的盒子时,它们会折叠。不是将边距加到一起,而是仅显示最大的边距。...垂直外边距折叠最可能发生的两种简单情况: 两个紧邻的兄弟元素的外边距发生折叠 父子元素的外边距发生折叠 首子元素与父元素的上外边距发生折叠 尾子元素与父元素的下外边距发生折叠 预防边距折叠 有时我们确实希望防止边距折叠

    1.9K20

    hhdb客户端介绍(48)

    界面设计设计原则简洁性界面布局应简洁明了,避免过多的复杂元素和信息堆砌,使用户能够快速定位和操作所需功能。...界面布局主窗口导航栏: 位于主窗口左侧,以树状结构展示数据库连接列表、数据库对象类型(如表、视图、存储过程等)。用户可通过展开和折叠节点快速定位到所需的数据库连接及对象。...视图菜单: 允许用户切换不同的界面显示模式,如显示或隐藏导航栏、工具栏、状态栏等,以及调整工作区的布局样式(如水平或垂直拆分窗口)。...帮助菜单: 提供客户端的帮助文档访问入口、版本信息查看以及关于软件的版权声明等内容,使用户在遇到问题时能够快速获取帮助资源。...工具栏连接工具栏: 放置常用的数据库连接操作按钮,如新建连接、连接测试、断开连接等,方便用户快速进行连接管理操作。对象操作工具栏: 针对当前选定的数据库对象,提供相应的快捷操作按钮。

    7610

    可折叠设备的桌面模式

    △ Duo 应用在优化前后的对比 在这篇文章中,您会了解到一个简单而又高效的方式来使您的应用在可折叠设备上运行时适配布局。...由于 ReactiveGuide 是水平的,此属性指的是参考线到父布局底部的距离。 让您的应用感知屏幕折叠 现在进入最重要的部分: 如何获知您的手机何时进入了桌面模式,并获取到折叠处的位置呢?...每当您获取到新的布局信息时,您可以查询显示屏特征,并检查设备当前显示中是否存在折叠或铰链: private fun onLayoutInfoChanged(newLayoutInfo: WindowLayoutInfo...如果您要实现横屏功能,那么大多数时候,边界会以一个在屏幕中垂直居中的矩形来表示,它和屏幕一样宽,并且高度与铰链相同 (对于可折叠设备而言值为 0,对于双屏幕设备而言会是两个屏幕之间的距离)。...viewLocationInWindow[0], -viewLocationInWindow[1]) return featureRectInView } 总结 在本文中,您学习了如何通过实现支持桌面模式的灵活布局来改善可折叠设备上媒体应用的用户体验

    2.4K30

    《精通CSS》第3章 可见格式化模型

    3.1.3 外边距折叠 前面,我们认识了各种盒子以及如何计算盒子的大小。 其中外边距只会影响元素与元素之间的距离,是一个比较简单的概念。但是它也有个会让人困惑的机制,叫做外边距折叠。...所谓外边距折叠,即垂直方向上的两个外边距相遇时,会折叠成一个外边距,折叠后外边距的高度等于两者中较大的那个高度。 外边距的折叠有以下几种情况(很重要!)。...当两个元素垂直堆叠时,上方元素的下边距会与下方元素的上边距发生折叠。 对于嵌套的父子元素(假设只有一个子元素),如果父元素没有内边距和边框,那么它们的上下边距均会发生折叠。...而有了外边距折叠就不会这样了。所以外边距折叠是为了排版而生的。 最后,外边距折叠只会发生在常规文档流中块级盒子的垂直方向上。行内盒子、浮动盒子或绝对定位盒子的外边距都不会折叠。...我们可以通过top、right、bottom、left设置四个方向的偏移值,如top: 20px;向下偏移 20px,不过文档流中占据的位置不变。

    1.3K20

    【Python篇】PyQt5 超详细教程——由入门到精通(终篇)

    PyQt5 提供了多种布局管理器,可以用来实现灵活的布局设计: QVBoxLayout:垂直布局,将控件从上到下垂直排列。 QHBoxLayout:水平布局,将控件从左到右水平排列。...10.2 QVBoxLayout:垂直布局 QVBoxLayout 是 PyQt5 中的垂直布局管理器,它将控件从上到下垂直排列。控件会根据窗口的大小自动调整。...这里我们创建了一个垂直布局,并在其中嵌套了两个水平布局。每个水平布局包含两个按钮,整个界面形成了上下分区的布局结构。...第9-10部分总结:菜单栏、工具栏与布局管理 在第9至第10部分中,我们深入讲解了 PyQt5 中的菜单栏、工具栏和状态栏的使用,展示了如何为应用程序添加组织良好的功能结构和界面元素。...❤️ 以上就是关于【Python篇】PyQt5 超详细教程——由入门到精通(最终篇)的内容啦,各位大佬有什么问题欢迎在评论区指正,或者私信也行哦,您的支持是我创作的最大动力!❤️

    1.4K12

    CSS中重要的BFC概念

    FC(Formatting Context),直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲染规则,决定了其子元素如何布局,以及和其他元素之间的关系和作用。...即使有偏移,仍然保留原有的位置,其它常规流不能占用这个位置。...约束规则 浏览器对BFC区域的约束规则: 生成BFC元素的子元素会一个接一个的放置。 垂直方向上他们的起点是一个包含块的顶部,两个相邻子元素之间的垂直距离取决于元素的margin特性。...规则解读: 内部的Box会在垂直方向上一个接一个的放置 内部的Box垂直方向上的距离由margin决定。...(完整的说法是:属于同一个BFC的两个相邻Box的margin会发生折叠,不同BFC不会发生折叠。) 每个元素的左外边距与包含块的左边界相接触(从左向右),即使浮动元素也是如此。

    1.4K11

    Qt Style Sheet实践(一):按钮及关联菜单

    QToolBox QToolBox是一个具备QQ折叠功能的组件,因此其中的独立的page使用::tab子组件定制。...QToolBar 工具栏的伪状态:top, :left, :right, :bottom的使用依赖于工具栏的具体位置;而:first, :last, :middle, :only-one则用于指代工具栏中的具体位置...工具栏的分隔器用::separator子组件指代,::handle则指代移动工具栏的handle....效果似乎还不错,但是我们发现右边的箭头号已经偏移到右下角去了,不太和谐。...主要是能理解好QSS中各种属性的作用,其余的工作就是做好布局设计和图片设计。美观大方的界面设计离不开精致的图标设计和合理的布局管理。 参考   1. Qt style sheet reference

    4.7K50

    Uniapp 制作一个横向滚动的工具栏

    实现思路横向工具栏的核心其实不复杂,大致可以分成以下几步:用 scroll-view 组件实现横向滚动。使用 flex 布局,将每个工具项(如图标和文字)在 tool-item 中垂直排列。...页面布局首先,让我们来写一个基本的页面布局,先不涉及复杂的样式。我们将横向工具栏放在一个 scroll-view 中,每个工具项都放在一个 view 里。...响应式布局的实现在开发移动应用时,响应式设计尤为重要,尤其是在横向滚动工具栏这种组件上。我们希望无论屏幕尺寸如何变化,工具栏的内容都能自适应调整,不会出现溢出或内容过小的问题。...5.2 媒体查询如果想让工具栏在不同屏幕尺寸下的显示效果更加精细,可以使用 CSS 的媒体查询功能,在不同的屏幕宽度下调整工具栏的布局。...使用 flex 布局,将图标和文字垂直排列,并添加了悬浮效果。自适应布局,确保在各种屏幕尺寸上都能良好展示。点击事件处理,可以轻松跳转或展示信息。性能优化,通过图片懒加载和本地缓存提高了加载速度。

    43600
    领券