是 parent 让我远离透明
Is a parent keeping me from transparency
我有一个切换屏幕的动画(来自 Angelas 著名的 youtube 视频)。
Timeline fade = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 1.0)),
new KeyFrame(new Duration(500), (ActionEvent t) -> {
getChildren().remove(0);
getChildren().add(0, schermen.get(naam));
Timeline fadeIn = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 0.0)),
new KeyFrame(new Duration(600), new KeyValue(opacity, 1.0)));
fadeIn.play();
}, new KeyValue(opacity, 0.0)));
fade.play();
现在这 1 个屏幕淡出,它们被切换,新的屏幕淡入。现在当 2 个屏幕具有相同的尺寸时,这没问题,一切看起来都很流畅。但是当你的新屏幕尺寸不同时,这看起来不太好。
我正在考虑为此找到一个甜蜜的过渡。所以我想让我们淡出旧屏幕。拆下旧屏幕。将新屏幕设置为不可见,将其最大化,然后才淡入。这样用户就不会注意到太多过渡。
所以我将旧屏幕淡化为不可见:
if (!getChildren().isEmpty()) {
Timeline switchscreenmaximize = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 1.0)),
new KeyFrame(new Duration(500), (ActionEvent t) -> {
getChildren().remove(0);
}, new KeyValue(opacity, 0.0)));
switchscreenmaximize.play();
这就是问题所在。屏幕只是变成空白而不是 transparent。我错过了什么?还是我看到的 parent 是空白的?
将舞台设置为透明而不是儿童。
我有一个切换屏幕的动画(来自 Angelas 著名的 youtube 视频)。
Timeline fade = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 1.0)),
new KeyFrame(new Duration(500), (ActionEvent t) -> {
getChildren().remove(0);
getChildren().add(0, schermen.get(naam));
Timeline fadeIn = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 0.0)),
new KeyFrame(new Duration(600), new KeyValue(opacity, 1.0)));
fadeIn.play();
}, new KeyValue(opacity, 0.0)));
fade.play();
现在这 1 个屏幕淡出,它们被切换,新的屏幕淡入。现在当 2 个屏幕具有相同的尺寸时,这没问题,一切看起来都很流畅。但是当你的新屏幕尺寸不同时,这看起来不太好。
我正在考虑为此找到一个甜蜜的过渡。所以我想让我们淡出旧屏幕。拆下旧屏幕。将新屏幕设置为不可见,将其最大化,然后才淡入。这样用户就不会注意到太多过渡。
所以我将旧屏幕淡化为不可见:
if (!getChildren().isEmpty()) {
Timeline switchscreenmaximize = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(opacity, 1.0)),
new KeyFrame(new Duration(500), (ActionEvent t) -> {
getChildren().remove(0);
}, new KeyValue(opacity, 0.0)));
switchscreenmaximize.play();
这就是问题所在。屏幕只是变成空白而不是 transparent。我错过了什么?还是我看到的 parent 是空白的?
将舞台设置为透明而不是儿童。