zoukankan      html  css  js  c++  java
  • Android 启动白屏或者黑屏闪现解决

    1、设置Style


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

    上面我定义了两种Theme,第一种Theme就是设置一张背景图。当程序启动时,首先显示这张背景图,避免出现黑屏。第二种Theme是把样式设置为透明,程序启动后不会黑屏而是整个透明了,等到界面初始化完才一次性显示出来。下面说说两种方式的优缺点:

    • Theme1 程序启动快,界面先显示背景图,然后再刷新其他界面控件。给人刷新不同步感觉。
    • Theme2 给人程序启动慢感觉,界面一次性刷出来,刷新同步。

    2、修改AndroidManifest.xml

    为了使上面Theme生效,我们需要设置一些Activity的Theme

    <application
      android:allowBackup="true"
      android:icon="@drawable/ipod_icon"
      android:label="@string/app_name"
      android:launchMode="singleTask">
    
    <!-- iPod主界面 -->
    <activity
      android:name="com.apical.apicalipod.IPodMainActivity"
      <!-- 使用上面定义的样式 mythou-->
      android:theme="@style/Theme.AppStartLoad"
      android:label="@string/app_name" >
      <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    
    //......
    
    </application>
  • 相关阅读:
    JavaScript中get和set访问器的实现
    Vue render 函数和JSX语法的使用
    vue项目将第三方包以cdn的方式引入页面不显示
    今天帮忙HMF这位ui大神(傻)解决的小问题。
    SET
    webpack 折腾
    sass折腾
    gulp折腾
    css3
    js递归函数
  • 原文地址:https://www.cnblogs.com/netcorner/p/4883069.html
Copyright © 2011-2022 走看看