android - 在 Android 应用程序中设置启动画面的最佳方式?

标签 android screen splash-screen

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

最佳答案

上述解决方案很好,但是如果用户在启动延迟结束之前按下后退键(并关闭您的应用程序)怎么办。 该应用程序可能仍会打开下一个 Activity,这并不是真正的用户友好。

这就是我使用自定义处理程序并删除 onDestroy() 中所有未决消息的原因。

public class SplashActivity extends Activity
{
    private final static int MSG_CONTINUE = 1234;
    private final static long DELAY = 2000;

    @Override
    protected void onCreate(Bundle args)
    {
        super.onCreate(args);
        setContentView(R.layout.activity_splash);

        mHandler.sendEmptyMessageDelayed(MSG_CONTINUE, DELAY);
    }

    @Override
    protected void onDestroy()
    {
        mHandler.removeMessages( MSG_CONTINUE );    
        super.onDestroy();
    }

    private void _continue()
    {
        startActivity(new Intent(this, SomeOtherActivity.class));
        finish();
    }

    private final Handler mHandler = new Handler()
    {
        public void handleMessage(android.os.Message msg)
        {
            switch(msg.what){
                case MSG_CONTINUE:
                    _continue();
                    break;
            }
        }
    };
}

关于android - 在 Android 应用程序中设置启动画面的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409767/

相关文章:

android.support.constraint.ConstraintLayout 无法转换为 android.widget.RelativeLayout

CSS 页面位置问题

iOS8 WebApp 启动画面黑色

android - Gradle同步失败,并且灰色文件

java - 从纵向切换到横向时出错

android - intent.createChooser 始终显示深色对话框

iphone - 加载应用程序时激活 iPhone 锁屏

以编程方式共享 Android 屏幕(Root)

android - PWA Android/chrome 启动画面上显示的错误图标

java - 如何在 SWT、Java 中管理多个闪屏