我正在尝试使用FXML布局来了解如何使用边距,边框和填充来布局节点。使用SceneBuilder我创建了一个虚拟FXML布局:
import styled, { css } from "styled-components";
import { styledWithProps } from "./styledWithProps.ts";
const MyComp = styledWithProps<any>()(styled.div) `
${props => props.theme==="dark" && css`
background-color: black;
`}
`;
const app = props => <MyComp theme="dark">{props.children}</MyComp>
但是在SceneBuilder中有“不透明插图”值框:
我已将它们添加到上面的FXML中。
但它们是为了什么?它们似乎对布局的视觉外观没有影响,我在Introduction to FXML中找不到任何对它们的引用。它们可能是FXML 1.0的“剩余”吗?
答案 0 :(得分:1)
opaqueInsets
属性在Region
中定义。直接从documentation:
定义绘制完全不透明像素的区域区域。这用于各种性能优化。该区域内的像素必须完全不透明,否则会产生渲染瑕疵。应用程序(通过代码或通过CSS)负责确保opaqueInsets对于基于该区域的背景和边界的Region是正确的。每个插入的值必须是实数,而不是NaN或无穷大。如果不存在已知的insets,则opaqueInsets应设置为null。
我读到这个的方式是你可以在opaqueInsets
上定义Region
,以便给出一个渲染提示,即这些插图中的区域是完全不透明的。这是作为性能提示提供的 - 可能的想法是渲染器可以忽略该区域内具有较低z顺序的任何节点。