View
创建和布局原生视图。
进程:主进程
在 app
模块的 ready
事件发出之前,无法使用此模块。
const { BaseWindow, View } = require('electron')
const win = new BaseWindow()
const view = new View()
view.setBackgroundColor('red')
view.setBounds({ x: 0, y: 0, width: 100, height: 100 })
win.contentView.addChildView(view)
类:View
一个基本的原生视图。
进程:主进程
View
是一个 EventEmitter。
new View()
创建一个新的 View
。
实例事件
使用 new View
创建的对象会发出以下事件
事件:'bounds-changed'
当视图的边界由于布局而发生变化时发出。可以使用 view.getBounds()
获取新的边界。
实例方法
使用 new View
创建的对象具有以下实例方法
view.addChildView(view[, index])
view
View - 要添加的子视图。index
Integer(可选) - 插入子视图的索引。默认为将子视图添加到子列表的末尾。
如果将同一个 View 添加到已经包含它的父级,它将被重新排序,使其成为最顶层的视图。
view.removeChildView(view)
view
View - 要移除的子视图。
如果作为参数传递的视图不是此视图的子视图,则此方法将不执行任何操作。
view.setBounds(bounds)
bounds
矩形 - View 的新边界。
view.getBounds()
返回 矩形 - 此 View 相对于其父级的边界。
view.setBackgroundColor(color)
color
string - 以十六进制、RGB、ARGB、HSL、HSLA 或命名 CSS 颜色格式表示的颜色。对于十六进制类型,alpha 通道是可选的。
有效 color
值的示例
- 十六进制
#fff
(RGB)#ffff
(ARGB)#ffffff
(RRGGBB)#ffffffff
(AARRGGBB)
- RGB
rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)
- 例如
rgb(255, 255, 255)
- 例如
- RGBA
rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)
- 例如
rgba(255, 255, 255, 1.0)
- 例如
- HSL
hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)
- 例如
hsl(200, 20%, 50%)
- 例如
- HSLA
hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)
- 例如
hsla(200, 20%, 50%, 0.5)
- 例如
- 颜色名称
- 选项列在 SkParseColor.cpp 中
- 类似于 CSS 颜色模块级别 3 关键字,但区分大小写。
- 例如
blueviolet
或red
- 例如
注意:带 alpha 通道的十六进制格式采用 AARRGGBB
或 ARGB
,不采用 RRGGBBAA
或 RGB
。
view.setVisible(visible)
visible
boolean - 如果为 false,则视图将从显示中隐藏。
实例属性
使用 new View
创建的对象具有以下属性
view.children
只读
一个 View[]
属性,表示此视图的子视图。