2016-11-02 3 views
6

Я создаю для себя новую пусковую установку. теперь, когда я запускаю приложения из своей основной деятельности, у нее есть эта анимация по умолчанию, которая заставляет мою панель запускать и всплывает новое приложение поверх нее. Вместо этого я хочу приложить свою собственную анимацию. Желательно, чтобы по умолчанию отображалась анимация материала с точки касания.Android Animation при запуске нового приложения

Вещи я пытался до сих пор:

You need to use a Theme.AppCompat theme (or descendant) with this activity on Android

http://tips.androidhive.info/2015/09/android-how-to-apply-material-design-theme/

<style name="swLaunch" parent="swLaunch.Base"> 
    <item name="android:windowContentTransitions">true</item> 
    <item name="android:windowAllowEnterTransitionOverlap">true</item> 
    <item name="android:windowAllowReturnTransitionOverlap">true</item> 
    <item name="android:windowSharedElementEnterTransition">@android:transition/explode</item> 
    <item name="android:windowSharedElementExitTransition">@android:transition/explode</item> 
    <item name="android:windowEnterAnimation">@android:transition/explode</item> 
    <item name="android:windowExitAnimation">@android:transition/explode</item> 
    <item name="android:taskToFrontEnterAnimation">@android:transition/explode</item> 
    <item name="android:taskToBackEnterAnimation">@android:transition/explode</item> 
    <item name="android:taskToFrontExitAnimation">@android:transition/explode</item> 
    <item name="android:taskToBackExitAnimation">@android:transition/explode</item> 
    <item name="android:inAnimation">@android:transition/explode</item> 
    <item name="android:layoutAnimation">@android:transition/explode</item> 
    <item name="android:windowShowAnimation">@android:transition/explode</item> 
    <item name="android:activityOpenEnterAnimation">@android:transition/explode</item> 
    <item name="android:fragmentOpenEnterAnimation">@android:transition/explode</item> 
</style> 

это, как я запускаю мои приложения:

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.google.android.gm"); 
if (launchIntent != null) { 
    startActivity(launchIntent); 
} 
+0

Почему вниз проголосовали мой ответ ? вы задали вопрос, и вы дали ответ. Я думаю, что это точечная игра, в которой вы играете здесь. – androidnoobdev

ответ

5

анимировать начиная активность:

int left = 0, top = 0; 
int width = v.getMeasuredWidth(), height = v.getMeasuredHeight(); 
ActivityOptions opts = ActivityOptions.makeClipRevealAnimation(v, left, top, width, height); 
startActivity(i, opts.toBundle()); 

где i является Намерение и v является Посмотреть

анимировать вернуться на домашний экран (либо нажав Home кнопку или Назад)

@Override 
public void onResume() { 
    super.onResume(); 
    // override default transition animation 
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 
} 
Смежные вопросы