SAP UI5 应用里 FlexBox 控件的设计原理

简介: SAP UI5 应用里 FlexBox 控件的设计原理

sap.m.FlexBox 控件为 flexible box layout 构建容器。VBox 控件为垂直的框布局(vertical flexible box layout)构建容器。 VBox 是一种使用的控件,因为它只是一个定制化的 FlexBox 控件。


VBox 包含 items 聚合,从 FlexBox 继承而来。


HBox 控件为水平框布局(horizontal flexible box layout)构建容器。


HBox 有一个名叫 LayoutData 的聚合,用来定义此控件在布局内使用时的布局约束(layout constraints).


LayoutData 类是 typed classes,必须与嵌入布局相匹配。


image.png


删除这段代码之后,应用的布局就被破坏了:


image.png



image.png

两个按钮所在的区域和 3D Viewer 显示的区域混淆在一起了:

image.png


growFactor:确定剩余可分配空间时弹性项目(flex item)的灵活性(flexibility)。


一些影响布局的属性需要在 FlexBox 控件中设置。其他属性可以附加到通过 layoutData 聚合放置在 FlexBox 内的控件。例如,布局方向在 FlexBox 中设置如下:


var oMyFlexbox = new sap.m.FlexBox({
  items: [
    new sap.m.Button({text: "Button 1"}),
    new sap.m.Button({text: "Button 2"})
  ],
  direction: "Column"
});



最后的效果:


image.png

我们也可以通过 order 属性显式指定按钮的顺序:


var oMyFlexbox = new sap.m.FlexBox({
  items: [
    new sap.m.Button({
      text: "Button 1",
      layoutData: new FlexItemData({order: 2})
    }),
    new sap.m.Button({text: "Button 2"})
  ]
});




上面的代码,虽然 Button 1 先出现,但其通过 layoutData 设置的 order 属性值为 2,因此出现在 Button 2 之后:


image.png


FlexBox 控件是 CSS 中 flexible box layout 的包装器。控件呈现器(control renderer)在适当的 HTML 元素上设置 CSS 属性(包括必要时的前缀版本)。 实际的布局是由浏览器完成的。


FlexBox 布局具有子元素的布局方向。 默认方向是行,行在阅读方向上水平排列。 这定义了主轴。 这种情况下的横轴是垂直的。


开发人员可以将布局方向属性更改为 Column,这将导致垂直主轴和水平交叉轴。



相关文章
|
前端开发 容器
SAP UI5 应用里 FlexBox 控件的设计原理
SAP UI5 应用里 FlexBox 控件的设计原理
|
2月前
|
C# 开发者 Windows
一款基于Fluent设计风格、现代化的WPF UI控件库
一款基于Fluent设计风格、现代化的WPF UI控件库
|
2月前
|
开发者 C# Windows
WPF布局大揭秘:掌握布局技巧,轻松创建响应式用户界面,让你的应用程序更上一层楼!
【8月更文挑战第31天】在现代软件开发中,响应式用户界面至关重要。WPF(Windows Presentation Foundation)作为.NET框架的一部分,提供了丰富的布局控件和机制,便于创建可自动调整的UI。本文介绍WPF布局的基础概念与实现方法,包括`StackPanel`、`DockPanel`、`Grid`等控件的使用,并通过示例代码展示如何构建响应式布局。了解这些技巧有助于开发者优化用户体验,适应不同设备和屏幕尺寸。
25 0
|
5月前
|
移动开发 开发者 HTML5
【专栏】介绍Flexbox和Grid两种现代Web布局技术,它们能帮助开发者创建美观、响应式且兼容性好的界面
【4月更文挑战第27天】本文介绍了Flexbox和Grid两种现代Web布局技术,它们能帮助开发者创建美观、响应式且兼容性好的界面。Flexbox通过主轴和交叉轴实现复杂布局,如垂直居中、响应式和多列布局。Grid布局则利用网格线定义容器和网格项,适用于网格系统和响应式设计。文中以构建响应式Web界面为例,展示了如何结合Flexbox和Grid实现头部、内容区域和底部的布局。
73 5
|
前端开发 容器
SAP UI5 里 FlexBox 的使用方法
SAP UI5 里 FlexBox 的使用方法
|
XML JavaScript 前端开发
SAP UI5 里 FlexBox 控件使用的一个例子
SAP UI5 里 FlexBox 控件使用的一个例子
|
Web App开发 前端开发 JavaScript
SAP UI5 应用 SimpleForm 控件 ResponsiveGridLayout 布局的工作原理深入剖析试读版
SAP UI5 应用 SimpleForm 控件 ResponsiveGridLayout 布局的工作原理深入剖析试读版
|
算法 前端开发 容器
SAP UI5 应用 FlexBox 控件 growFactor 的使用方法
SAP UI5 应用 FlexBox 控件 growFactor 的使用方法
|
测试技术
SAP UI5 Form 控件的 ColumnLayout 布局特性
控件的默认设置并不适合所有可能的用例。 相反,应用程序可以使用 S、M、L 和 XL 尺寸的各种布局之一。
|
Web App开发 前端开发 开发者
SAP UI5 FlexBox Layout 布局的概念和具体使用案例介绍试读版
SAP UI5 FlexBox Layout 布局的概念和具体使用案例介绍试读版