android app 闪屏

main activity

package com.splash.screen;

import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.widget.ImageView;

import com.newbravo.sg.Game;
import com.newbravo.sg.R;

/**
 * Created by lyhd on 2016/8/2.
 */
public class LogoSplashActivity extends Activity {

    private  LogoSplashActivity mySplashActivity;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("LogoSplashActivity","onCreate");
        mySplashActivity = this;
        // 取消标题
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        // 取消状态栏
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.logo_splash);

        Log.d("cgz_android: ",this.getExternalFilesDir(null).toString());

        //第一种闪屏方式
        // 闪屏的核心代码
//        new Handler().postDelayed(new Runnable() {
//            @Override
//            public void run() {
//                Intent intent = new Intent(LogoSplashActivity.this,
//                        Game.class); // 从启动动画ui跳转到主ui
//                startActivity(intent);
//                mySplashActivity.overridePendingTransition(R.anim.in_screen,
//                        R.anim.out_screen);
//                LogoSplashActivity.this.finish(); // 结束启动动画界面
//
//            }
//        }, 3000); // 启动动画持续3秒钟

        //第二种方式

        ImageView logoImage = (ImageView) this.findViewById(R.id.logo_splash);
        AlphaAnimation alphaAnimation = new AlphaAnimation(0.1f, 1.0f);
        alphaAnimation.setDuration(3000);
        logoImage.startAnimation(alphaAnimation);
        alphaAnimation.setAnimationListener(new Animation.AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {

            }

            @Override
            public void onAnimationRepeat(Animation animation) {

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                Intent intent = new Intent();
                intent.setClass(LogoSplashActivity.this, Game.class);
                intent.setAction(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                startActivity(intent);
                //startActivity(new Intent("com.google.app.splashy.CLEARSPLASH"));
                finish();
            }
        });
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }

    @Override
    protected void onPause() {
        super.onPause();

    }

    @Override
    protected void onResume() {
        super.onResume();

    }
}

所用的1个layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center"
        android:id="@+id/logo_splash"
        android:src="@drawable/logo_splash"/>
</LinearLayout>

原文地址:https://www.cnblogs.com/pixs-union/p/8554545.html

时间: 2024-10-08 08:23:52

android app 闪屏的相关文章

Android - app闪退log分析

以下为主要log: 01-21 18:21:48.238: D/AndroidRuntime(10851): Shutting down VM 01-21 18:21:48.240: E/AndroidRuntime(10851): FATAL EXCEPTION: main 01-21 18:21:48.240: E/AndroidRuntime(10851): Process: com.android.email, PID: 10851 01-21 18:21:48.240: E/Andro

关于android应用闪屏的几种情况

1.主菜单进入某应用闪屏: 常见是一个空的activity作为launcher属性,实际上它什么事业没干,真正干事情的是从它通过intent启动的activity. 例子: public class BootActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* if (SDCardUtils.

android Theme启动APP闪屏处理

//1.设置背景图Theme <style name="Theme.AppStartLoad" parent="android:Theme">       <item name="android:windowBackground">@drawable/ipod_bg</item>       <item name="android:windowNoTitle">true</

Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法(转)

转载: Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法   首先感谢博主分享,本文作为学习记录 惊鸿一瞥 微信的启动页,相信大家都不陌生. 不知道大家有没有发现一个现象,微信每次启动的时候,是直接进入这个启动页面. 我的意思是,很多应用,往往会先白屏停顿一下后再进入启动页面(Splash).为了印证这一点,我把手机上所有的App都点了一遍.选几个例子 如下图: 微信:  斗鱼:  斗鱼和微信是直接进入了,他们的Splash页面. 知乎:  B站:  知乎和B站要先

Android编程入门--简单闪屏界面

Manifest <activity android:name=".ui.activity.WelcomeActivity" android:theme="@style/SplashTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android

Android闪屏问题的分析思路

闪屏问题作为Android的一类常见问题,原因复杂多样.我们在这里整理一下如何分析闪屏问题,找到具体导致闪屏问题的原因. 严格从技术来说,闪屏问题不能归为一类问题,他是因为屏幕快速变化导致用户看起来显示不正常的问题(很多测试者甚至会将花屏问题当做闪屏问题,这里不做讨论).它可能是多种完全不同的原因导致的,硬件问题,驱动问题,绘制问题,合成问题,窗口调度问题,activity问题,以及app本身的逻辑问题都有可能导致用户看起来屏幕闪屏的感觉,其中百分之九十以上闪屏的问题是由后三种问题导致的. 特殊

[FMX] Android APP 启动黑屏优化补丁

使用说明 *************************************************** Android APP 启动黑屏优化补丁 作者: Swish, YangYxd 2016.01.16 Version: 1.0.0 QDAC官方群: 250530692 *************************************************** [安装方式] 双击Setup.bat安装补丁文件(安装时会作备份) 双击Uninstall.bat可以恢复. [

[android]切换activity闪屏问题

游戏登陆切换activity时,总是出现闪屏现象,解决方案,暂停线程100毫秒调用startActivity,闪屏解决,代码: @Override public void startActivity(final Intent intent) { new Thread() { @SuppressWarnings("static-access") public void run() { try { Thread.currentThread().sleep(100); } catch (In

android mediaplayer VideoPlayerManager 加载视频闪屏问题排查解决

Android VideoPlayer 在滚动列表实现item视频播放(ListView控件和RecyclerView),在列表滚动时点击屏幕列表暂停,在item视频播放区域,视频播放时会出现闪屏问题. 排查解决,VideoPlayerManager->MediaPlayerWrapper.java->prepare() :                     { .prepareAsync().set(State.)(!= ) {