初始屏幕不工作在kitkat和更低的api水平在android

问题描述:

我在我的android应用程序中使用启动画面。它适用于棒棒糖和更高版本,但不适用于kitkat和更低版本。 问题在menifest.xml中,但我无法修复它。初始屏幕不工作在kitkat和更低的api水平在android

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/ic_launcher_round" 

    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".SplashScreenActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <meta-data 
      android:name="com.facebook.sdk.ApplicationId" 
      android:value="@string/facebook_app_id" /> 

     <intent-filter> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 


SplashScreenActivity.java

公共类SplashScreenActivity延伸活动{

public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 
    Window window = getWindow(); 
    window.setFormat(PixelFormat.RGBA_8888); 
} 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_splash_screen); 

    StartAnimations(); 
    Thread background = new Thread() { 
     public void run() { 

      try { 
       // Thread will sleep for 5 seconds 
       sleep(3*1000); 

       // After 5 seconds redirect to another intent 
       Intent i=new Intent(getBaseContext(),MainActivity.class); 
       startActivity(i); 

       //Remove activity 
       finish(); 

      } catch (Exception e) { 

      } 
     } 
    }; 

    // start thread 
    background.start(); 



} 

private void StartAnimations() { 

    Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha); 
    anim.reset(); 
    LinearLayout l=(LinearLayout) findViewById(R.id.lin_lay); 
    l.clearAnimation(); 
    l.startAnimation(anim); 

    anim = AnimationUtils.loadAnimation(this, R.anim.translate); 
    anim.reset(); 
    ImageView iv = (ImageView) findViewById(R.id.logo); 
    iv.clearAnimation(); 
    iv.startAnimation(anim); 

} 

}


在res /动画/ alpha.xml

alpha.xml

<?xml version="1.0" encoding="utf-8"?> 
<alpha 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:duration="3000" /> 
+0

显示代码,活动代码 –

+0

我认为没有promen in menifest.xml文件...你可以发布SplashScreenActivity java代码。 –

+0

也分享你的java代码和xml。 – JavadKhan

还有就是我的闪屏。它适用于android 4.1及更高版本。


SplashScreen.java

public class SplashScreen extends AppCompatActivity { 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splashscreen_layout); 

    } 

    @Override 
    protected void onStart() { 

     super.onStart(); 


     // load your stuff here ... 


     Intent intent = new Intent(SplashScreen.this, YourHomeActivity.class); 
     startActivity(intent); 
     finish(); 

    } 
} 


RES /布局/ splashscreen_layout.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="false" 
    tools:context=".SplashScreen" 
    android:theme="@style/SplashTheme"> 

</android.support.design.widget.CoordinatorLayout> 


增加您的RES /价值/ styles.xml

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:windowBackground">@drawable/splashscreen_drawable</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
</style> 


RES /绘制/ splashscreen_drawable.xml

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@color/colorPrimary"/> 

    <item> 
     <bitmap 
      android:gravity="center" 
      android:src="@drawable/your_icon" /> 
    </item> 

</layer-list> 


和我的AndroidManifest.xml

<application 

     [...] 

     > 
     <activity 
      android:name="com.your.package.app.SplashScreen" 
      android:label="@string/app_name" 
      android:theme="@style/SplashTheme"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     [...] 


它看起来在这: