2017-05-17 4 views
0

私は、次のアクティビティが呼び出される前にイメージまたはアクティビティをぼかしたい1つのイメージを持つスラッシュスクリーンを持っています。新しいアクティビティでアクティビティブラーを消す方法は?

私はfade_in fade_out animを使用しようとしましたが、動作しませんでした。

この受け入れ答えに与えられたみましたコード:Android Studio fading splash into main

スプラッシュスクリーン

public class SplashScreen extends Activity { 

    private Thread mSplashThread; 

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.splash_layout); 
     final SplashScreen sPlashScreen = this; 

     mSplashThread = new Thread(){ 
      @Override 
      public void run(){ 
       try { 
        synchronized(this){ 
         wait(3000); 
        } 
       } 
       catch(InterruptedException ex){ 
       } 

       finish(); 

       Intent intent = new Intent(); 
       intent.setClass(sPlashScreen,LoginActivity.class); 
       startActivity(intent); 
       overridePendingTransition(R.anim.fade_in, R.anim.fade_out); 
      } 
     }; 

     mSplashThread.start(); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent evt) 
    { 
     if(evt.getAction() == MotionEvent.ACTION_DOWN) 
     { 
      synchronized(mSplashThread){ 
       mSplashThread.notifyAll(); 
      } 
     } 
     return true; 
    } 
} 

Fade_in:

<?xml version="1.0" encoding="utf-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:fromAlpha="0.0" android:toAlpha="1.0" 
    android:duration="500" /> 

Fade_out:

<?xml version="1.0" encoding="utf-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_interpolator" 
    android:fromAlpha="1.0" android:toAlpha="0.0" 
    android:fillAfter="true" 
    android:duration="500" /> 

何ぼかしアニメーションにすることはできますか?別のアクティビティが始まる前に、slpashアクティビティがぼやけて見えるようにします。

くださいhelp.Thankます。..

+0

これを行うには、画面をキャプチャしてからビットマップを作成し、スケールビットマップを使用してビットマップをぼかしてからビューに追加する必要があります。そのため、背景がぼやけて見え、別のアクティビティにリダイレクトすると、活動から。 – Vickyexpert

答えて

0

あなたはfade_inとfade_outに必要とoverridePendingTransitionが動作しない場合。 回避策を作成できます。ナビの前に、https://github.com/2359media/EasyAndroidAnimationsまたはhttps://github.com/daimajia/AndroidViewAnimations のようなアニメーションライブラリを使用して、次のアクティビティのコンテンツをフェードインさせて のactivity.overridePendingTransition(NO_ANIMATION、NO_ANIMATION)を使用して、アプリケーションコンテナ用のアニメーションを作成します。

注:これは私が試したものではありませんが、それは薄暗い効果があることが、以下のようにあなたがsplash_layoutで1つのオーバーレイを追加することができます

0

を動作するはずです。新しい活動を開始する前にそれを見えるようにしてください。

<View 
    android:id="@+id/overlay_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#A0000000" 
    android:visibility="gone" /> 

希望します。

関連する問題