2017-05-17 2 views
0

다음 활동이 호출되기 전에 이미지 또는 활동을 흐리게하려는 한 이미지가있는 slpash 화면이 있습니다.새로운 액티비티로 액티비티 블러를 사라지게하는 방법은 무엇입니까?

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);을 사용합니다.

참고 :이 내가 시도 일이 아니다, 그러나 희미한 효과가 아래와 같이

0

당신은 splash_layout 하나의 오버레이를 추가 할 수 있습니다 작동합니다. 새 액티비티를 시작하기 전에이를 보이게하십시오.

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

희망이 있습니다.

관련 문제