- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以在我的初始屏幕中显示动画 gif 或视频。
这是我的代码
启动器类: ** 已编辑所有运行简单项目所需的文件。
package com.example;
import javafx.application.Application;
public class Launcher
{
public static void main(String[] args) {
System.setProperty("javafx.preloader", "com.example.SplashScreen");
Application.launch(Main.class);
}
}
主类
package com.example;
import javafx.application.Application;
import javafx.application.Preloader.StateChangeNotification;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class Main extends Application{
Stage stage;
Scene scene;
@Override
public void start(Stage primaryStage) throws Exception {
try {
Thread.sleep(5000);
this.stage = primaryStage;
AnchorPane pane;
FXMLLoader mainLoader = new FXMLLoader(getClass().getClassLoader().getResource("layouts/main.fxml"));
pane = mainLoader.load();
scene = new Scene(pane, 600, 445);
primaryStage.setScene(scene);
primaryStage.show();
notifyPreloader(new StateChangeNotification(StateChangeNotification.Type.BEFORE_START));
}
catch (final Exception e) {
e.printStackTrace();
}
}
SplashScreenClass
package com.example;
import javafx.application.Preloader;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.SceneAntialiasing;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class SplashScreen extends Preloader {
Stage stage;
@Override
public void start(Stage stage) throws Exception {
this.stage = stage;
StackPane root = (StackPane) FXMLLoader.load(getClass().getClassLoader().getResource("layouts/splash.fxml"));
Scene scene = new Scene(root, 690, 380,true, SceneAntialiasing.BALANCED);
scene.setFill(Color.TRANSPARENT);
stage.initStyle(StageStyle.UNDECORATED);
stage.setScene(scene);
stage.show();
}
@Override
public void handleApplicationNotification(PreloaderNotification pn) {
if (pn instanceof StateChangeNotification) {
//hide after get any state update from application
stage.hide();
}
}
所以基本上这就是所需的全部 Java 代码。我添加了 5 秒的 sleep 来模拟从后端加载。这将生成启动画面,但 不是动画。如果我不隐藏 splashscreen 阶段,gif 将在主阶段加载后动画化。
飞溅 fxml
<StackPane xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<StackPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="380.0" prefWidth="690.0">
<children>
<ImageView fitHeight="374.0" fitWidth="686.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../test.gif" />
</image>
</ImageView>
</children>
</StackPane>
最后是main.fxml
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" >
<children>
<Label layoutX="238.0" layoutY="224.0" prefHeight="63.0" prefWidth="125.0" text="Label" />
</children>
</AnchorPane>
最佳答案
感谢@jewelsea 的评论,我最终修改了主类以在后台线程中执行任务,然后,当一切准备就绪时,我展示了主应用程序的舞台。
[...]
try {
final Task<Integer> task = new Task<Integer>() {
@Override
protected Integer call() throws Exception {
Thread.sleep(5000);
Platform.runLater(new Runnable() {
public void run() {
showStage();
}
});
return 0;
}
};
Thread thread = new Thread(task);
thread.start();
} catch (final Exception e) {
e.printStackTrace();
}
}
public void showStage() {
stage.show();
notifyPreloader(new StateChangeNotification(StateChangeNotification.Type.BEFORE_START));
}
GIF 是动画的,启动画面将在所有后台任务完成后加载。
关于带有动画 gif 的 JAVAFX SplashScreen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69237024/
我在让我的 java 闪屏工作时遇到一些小问题!我正在使用 Eclipse 和 Java 9。引用 https://docs.oracle.com/javase/tutorial/uiswing/mi
我正在使用的进口: import 'package:flutter/material.dart'; import 'package:splashscreen/splashscreen.dart'; i
我在 Oracle 文档中找到了一个关于 SplashScreen 的示例。问题是在此示例中,此处使用的图像链接在命令行中作为参数传递。我正在尝试更改代码,以便将链接写在里面,我不需要使用命令行。 方
我有一个 WPF 项目,其中有一个由项目向导添加的启动屏幕。在同一个启动屏幕上,我想添加一个进度条样式仪表。有人知道如何做到这一点吗? 最佳答案 这是我的计划。我这样做的动机是我不想在 UI 线程上运
我发现只有一种方法可以延长启动画面的显示时间。 这是将 ApplicationDefinition 更改为 Page 并进行配置的时候了。 但我需要 ApplicationDefinition,我在这
请注意以下似乎工作正常。如果这是正确的逻辑,或者如果我能做任何更好的事情,我只需要意见 所以这是我第一次使用闪屏。到目前为止(或者我认为)按预期工作,如果我使用的逻辑很好或者我可以改进它,我只需要一些
我使用 Internet 代码在我的应用程序中部署了启动画面,一切正常但无法为此 Activity 设置时间关闭并打开主应用程序可以帮助我。我尝试了处理程序的形状,但在一段时间后关闭了应用程序。 pa
我有一个需要 6 秒才能启动的应用程序,我想添加启动画面。我有这段代码: public class SplashScreen extends JWindow { private static
在我正在开发的应用程序中,我正在实现启动画面这个启动画面出现在应用程序的开头。当启动画面启动时,action bar 会显示一小会儿,比如半秒,然后消失。我不确定为什么会这样。谁能帮我解决这个问题。我
我尝试使用来自另一个项目的图像创建一个 SplashScreen: SplashScreen s = new SplashScreen("/MyAssembly;component/myImage.p
如何在第二台显示器上显示 SplashScreen?现在它仅在主显示器上显示,但应用程序在辅助显示器上启动。 最佳答案 没有属性可以控制标准 WPF 初始屏幕的显示位置。 如果您需要更改默认行为,您需
您将如何继承 System.Windows.SplashScreen 因此必须通过在精确路径加载图像时构建自身的可能性来丰富此类。 根据定义,System.Windows.SplashScreen 仅
我的应用程序在我的 Activity 启动后立即使用了大量内存。 首先我有一个主题可以在我的启动画面中放置一个图像,但是因为我想调试,所以我将它放在了代码中。在研究 Android 设备监视器和一些调
我有 MainActivity 和 LoginActivity,MainActivity 使用 Theme.MySplash(有蓝色和应用程序图标)。 首次启动时,SplashScreen 显示良好(
我们目前正在通过新的 Splashscreen API 实现启动画面。我们关注 migration guide .背景颜色设置正确(通过 windowSplashScreenBackground),但
在cordova-plugin-splashscreen ,只有一点点例子。我不知道如何将它用于 iOS 平台。这是我的问题: 有什么例子吗?(config.xml 和你把图片放在哪里) “资源名称”
我需要以编程方式创建一个 SplashScreen 并向其中添加文本(并更改它)。大多数示例都使用命令行参数。有没有可行的解决方案? 最佳答案 在 SwingWorker 中加载内容时,您可以使用带有
我正在使用 finish() 来结束 SplashScreen Activity 中的线程,当我这样做时,应用程序会在转到 Activity2 之前最小化。如何结束 SplashScreen Acti
英文翻译: 我在 VisualStudio 环境中为我的项目安装了 SplashScreen.Fody 包,用户指南是将 WPF UserControl 添加到生成用于创建和管理 SplashScre
我制作了一个应用程序,它使用 json 从服务器下载数据并按照 this tutorial. 将其显示在 ListView 中。但是现在我想在加载时在 SplashScreen 中执行此过程,然后将所
我是一名优秀的程序员,十分优秀!