标签: splash-screen

如何在启动Cocoa应用程序时显示启动画面?

我希望在我的基于Cocoa的应用程序启动时向用户显示启动画面(图片).这怎么可能?


首先,非常感谢.因为我的应用程序运行了一段时间,所以我想在应用程序运行之前显示启动.现在,如果我在里面显示一个带有图像的窗口,那么如何运行该应用程序?如何确保应用程序在启动后显示?如何获得序列?


首先非常感谢你.我在applicationWillFinishLaunching方法中使用orderFront显示窗口,然后在applicationDidFinishLaunching中隐藏它:使用orderOut,现在我发现mainWindow不显示和app终止,为什么?如何解决这个问题呢?谢谢!

cocoa splash-screen

7
推荐指数
2
解决办法
8470
查看次数

如何加快启动画面的加载速度

我正在优化WinForms应用程序的启动.我发现的一个问题是加载了启动画面.它需要大约半秒到一秒.

我知道多线程在UI片段上是禁止的,然而,看看启动画面是一个相当独立的应用程序片段,是否有可能以某种方式通过抛出其他一些线程来缓解其性能损失(可能在Chrome的方式),以便应用程序的重要部分实际上可以开始.

c# splash-screen visual-studio-2008 .net-2.0 winforms

7
推荐指数
1
解决办法
3236
查看次数

创建一个类似Visual Studio 2010的启动画面

我打算创建一个类似于Visual Studio 2010为我的桌面应用程序运行的启动画面(随意使用任何版本的C#/ VB.NET/CLR).

Visual Studio 2010启动画面http://blogs.msdn.com/blogfiles/visualstudio/WindowsLiveWriter/BehindtheScenesSplashScreen_CC39/image_4.png

根据Visual Studio博客,启动屏幕不是使用WPF开发的,因为它会导致CLR和WPF库加载,从而导致应用程序加载的大量延迟.因此,出于性能原因,他们还原为C++和Win32堆栈.

Windows Forms或WPF开发人员是否有可行的选项来利用相同的品牌?我们的想法是在闪屏中拥有类似的丰富品牌,而不会失去性能和启动时间.

使用PNG和透明效果对Windows窗体没有帮助(一个已知问题,我已经在此网站上阅读了相关问题).只是为了强调:它是一个闪屏,所以启动时间不能受到影响.

.net c# performance splash-screen winforms

7
推荐指数
1
解决办法
1万
查看次数

在Android应用程序中使用启动画面的最佳方法?

我的应用程序需要一个启动画面.试图为我的启动画面创建一个具有图像的活动; 并尝试使用for循环和Timer类来引入时间延迟.但它不会那样工作.我做错了吗?如果有,那么正确的方法是什么?

android screen splash-screen

7
推荐指数
1
解决办法
4227
查看次数

在加载巨大的initrd时显示启动图像

考虑一个带有以下约束的实时GNU/Linux发行版:所有软件都应该包含在一个initrd映像中(这导致它的大小),并且内核包含尽可能少的静态编译模块.

考虑所描述的发行版的启动过程:引导加载程序(例如grub或isolinux)加载内核,然后内核将initrd加载并提取到内存中.在提取期间(在旧计算机上花费20-30秒)屏幕上没有任何反应.

我想知道,在initrd提取过程中是否有现成的解决方案显示启动画面?如果没有,请您评论以下想法:

  1. 将一个例如600x480x8bit的图像静态编译到内核中,并在提取initrd时以某种方式将其刷新到帧缓冲区中.

  2. 这样做,但强制加载一个特定的视频驱动程序(例如VESA)并入侵其代码,而不是内核的帧缓冲区.

谢谢.

linux kernel splash-screen initrd

7
推荐指数
1
解决办法
1676
查看次数

如何在Swift中将类分配给Splash屏幕?

我正在尝试更改类以从我的启动画面类调用Web服务,但它会触发错误消息.

错误是:

启动画面不允许自定义类

splash-screen ios swift

7
推荐指数
1
解决办法
4700
查看次数

Android共享元素从初始屏幕转换为主要活动

在显示主要活动之前,我的应用程序显示启动画面1秒钟.启动画面和主活动共享一个公共图像,该图像是从启动画面的中心到主活动布局顶部的动画所必需的.

如果<layer-list>在主要活动中将启动画面实现为背景图像(参见启动画面正确的方式如何制作启动画面?),那么如何完成此动画并不明显,我决定实现启动画面作为正常活动,并使用共享元素转换为两个活动之间的图像设置动画.最初,我onCreate()在splash活动中使用了以下实现:

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);

        ImageView imageView = (ImageView)findViewById(R.id.imageView);
        String transitionName = ViewCompat.getTransitionName(imageView);
        Intent intent = new Intent(this, LoginActivity.class);
        ActivityOptionsCompat options =
                ActivityOptionsCompat.makeSceneTransitionAnimation(
                        this, imageView, transitionName);

        imageView.postDelayed(() -> {
            ActivityCompat.startActivity(SplashActivity.this, intent, options.toBundle());
            finish();
        }, 1000);
    }
}
Run Code Online (Sandbox Code Playgroud)

这种方法存在两个问题:

  1. 在调用finish()之后立即调用startActivity()会导致在动画开始之前隐藏/销毁启动活动窗口,这导致主屏幕在动画期间暂时闪烁进入视图.
  2. 从主活动按回来会自动触发共享元素返回转换,导致主活动窗口关闭后图像在主屏幕上显示为500毫秒.返回转换失败,因为splash活动已经调用了finish(),因此不再在后台堆栈上.

为了解决第一个问题,我将finish()调用包装在postDelay()Runnable中,以确保只有在共享元素转换完成后才会调用它.在我的应用程序中有1500毫秒的延迟,但应根据其他用例所需的时间调整该值.

...

imageView.postDelayed(() -> {
    ActivityCompat.startActivity(SplashActivity.this, intent, options.toBundle());
    imageView.postDelayed(this::finish, 1500);
}, 1000);
Run Code Online (Sandbox Code Playgroud)

为了解决第二个问题,我重写了主活动的onBackPressed()方法直接调用, …

android splash-screen android-animation android-transitions shared-element-transition

7
推荐指数
1
解决办法
1642
查看次数

如何在颤振中创建自定义动画启动屏幕

我想用最少的动画(如旋转图像)创建一个启动屏幕。从此处找到的文档中我认为可以使用“创建自定义 SplashScreen”部分中提到的方法来这样做。但我不知道从哪里开始。我首先使用创建了一个颤振 java 项目

 flutter create -a java custom_splash
Run Code Online (Sandbox Code Playgroud)

然后我尝试复制粘贴文件内文档链接中给出的代码MainActivity.java并运行该应用程序,但该应用程序根本无法构建。我也尝试在内部使用旋转可绘制对象,launch_background.xml尽管它确实将图像旋转到特定角度,但它是静态的而不是动画的。

注意:我没有构建任何原生 android 应用程序,java 对我来说也是新的

编辑 1: 我想我必须将它显示为视图而不是可绘制对象。所以我尝试了这个。创建了一个名为SplashScreenWithTransition.javanext的文件MainActivity.java

package com.example.native_splash;

import android.content.Context;
import android.os.Bundle;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.example.native_splash.mySplashView;

import io.flutter.embedding.android.SplashScreen;

public class SplashScreenWithTransition implements SplashScreen {
    @Override
    @Nullable
    public View createSplashView(
            @NonNull Context context,
            @Nullable Bundle savedInstanceState
    ) {
        return new mySplashView(context);
    }

    @Override
    public void transitionToFlutter(@NonNull Runnable onTransitionComplete) {
        onTransitionComplete.run();
    }
}
Run Code Online (Sandbox Code Playgroud)

和另一个名为 mySplashView.java …

animation android splash-screen dart flutter

7
推荐指数
1
解决办法
2950
查看次数

加载前启动屏幕白色闪烁(React Native Expo)

当应用程序加载时,有一个白色背景,然后在显示启动画面之前闪烁。我已经从 app.json 文件中删除了启动画面,因为我正在手动加载和隐藏启动画面。(将启动画面留在 app.json 文件中会导致显示启动画面,然后出现白色闪烁,然后再次显示启动画面)

应用程序.js

import React from 'react';
import { StyleSheet, View, Image } from 'react-native'
import { MyAuthStack, MyMainDrawer } from './Screens/Navigators'
import firebase from './firebase'
import { AppLoading, SplashScreen } from 'expo';
import { Asset } from 'expo-asset';

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      authState: false,
      imgUrl: '',
      isSplashReady: false,
      isAppReady: false,
    }

  }
  _cacheSplashResourcesAsync = async () => {
    const gif = require('./assets/splash.png');
    return Asset.fromModule(gif).downloadAsync();
  }

  _cacheResourcesAsync = …
Run Code Online (Sandbox Code Playgroud)

splash-screen flicker react-native expo

7
推荐指数
1
解决办法
1248
查看次数

Ionic + Capacitor 3 + Android 短暂显示扭曲的飞溅图像

如果您使用@capacitor/splash-screen API 在带有 Capacitor 3 的 Ionic Android 应用程序中显示启动画面,您可能会遇到以下问题:

问题

在几分之一秒内,飞溅图像将扭曲显示,直到以正确的纵横比显示。这意味着它也会在屏幕上“跳跃”一点,如果您在设备处于横向时启动应用程序,或者您的设备已拉伸或显示宽高比,这将特别明显。

背景信息

发生这种情况是因为AppTheme.NoActionBarLaunch在应用程序启动时使用它MainActivity被设置为将启动图像作为背景图像,但“真实”启动图像在几毫秒后在SplasScreen.buildViews()插件的方法中被初始化。

解决方案

要修复它,您可以在您的styles.xml文件中更改以下内容/android/app/src/main/values

老的:

    <style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
        <item name="android:background">@drawable/splash</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

新(无背景):

    <style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
        <item name="android:background">@null</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

或者设置启动画面的背景颜色:

    <style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
        <item name="android:background">#ffffff</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

这将防止在将实际 ImageView 添加到视图层次结构之前将启动图像显示为背景图像。ImageView 将具有androidScaleType插件配置中定义的正确 scaleType 。

使用以下版本进行测试:

  • @电容器/机器人:3.0.0-rc.0
  • @电容器/闪屏:0.3.6
  • @离子/角度:5.6.3

使用以下配置:

const config: CapacitorConfig = {
    // ...
    plugins: {
        SplashScreen: {
            launchShowDuration: 3000,
            launchAutoHide: …
Run Code Online (Sandbox Code Playgroud)

android splash-screen ionic-framework capacitor

7
推荐指数
1
解决办法
680
查看次数