2016-05-28 4 views
1

Я использовал overridePendingTransition() уже, но он используется, чтобы открыть вид деятельности с данным переходом не приложение.Как запустить приложение Android (а не активность) в нижней части экрана вверх?

Кроме того, он работает только тогда, когда у Вас есть намерение по нажатию на кнопку, он не будет работать, если использование overridePendingTransition() в onCreate()

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     Intent i = new Intent(Main2Activity.this,MainActivity.class); 
     startActivity(i); 
     overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up); 
    } 

ответ

1

перед использованием setContentView следующий код:

overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out); 

и в вашем отделе() использовать следующий код:

@Override 
    public void finish() { 
     super.finish(); 
     overridePendingTransition(R.anim.fade_in, R.anim.slide_out_back_to_bottom); 
    } 

и создать Anim папку и поместить эти файлы:

slide_in_from_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="top"> 
    <translate 
      android:duration="400" 
      android:fromYDelta="100%p" 
      android:toYDelta="0%p" 
      > 
    </translate> 
    <alpha 
      android:fromAlpha="0.8" 
      android:toAlpha="1.0" 
      android:duration="400" 
      /> 
</set> 

slide_out_back_to_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:zAdjustment="top"> 
     <translate 
       android:duration="400" 
       android:fromYDelta="0%p" 
       android:toYDelta="100%p" 
       > 
     </translate> 
     <alpha 
       android:fromAlpha="1.0" 
       android:toAlpha="0.8" 
       android:duration="400" 
       /> 
    </set> 

fade_in:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="bottom"> 
    <alpha 
      android:fromAlpha="0.0" 
      android:toAlpha="1.0" 
      android:duration="300" 
      /> 
</set> 

fade_out:

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:zAdjustment="bottom"> 
    <alpha 
      android:fromAlpha="1.0" 
      android:toAlpha="0.0" 
      android:duration="200" 
      /> 
</set> 

полная реализация может быть найден here.

+0

Уверены ли, что он будет работать для запуска приложения Android снизу вверх? – user3542307

+0

Да! Я использую это в одном из моих проектов. также, как вы видите, я использую переход от 0% до 100%, это именно то, что вы хотите. Я также немного fade_in/fade_out, чтобы быть лучше. – Amir

+0

это правильно :(если не может у делиться ур APK на диске или везде, где – user3542307