Мероприятие слайд-анимации с overridePendingTransition имеет странный эффект
Я создаю анимацию, которая будет отображаться, когда пользователь переходит к определенному действию. В основном, эта активность скользит вверх, чтобы ее можно было показывать, и слайды закрываются. Я использую overridePendingTransition, чтобы сделать эту анимацию.
Но на слайде есть уродливый эффект. Это можно увидеть на снимке экрана:
![Screen shot]()
Посмотрите на этот серый прямоугольник, показанный на закрытии активности. Почему это показано?
Я думал, что это будет Android android.R.id.content для Android, поэтому я попытался изменить его фон, но это не сработало.
Я использую ActionBarSherlock, и код показан ниже:
slide_in_from_bottom.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="100%p"
android:toYDelta="0%p"
android:duration="@android:integer/config_mediumAnimTime"/>
slide_out_to_bottom.xml
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:duration="@android:integer/config_mediumAnimTime"/>
nothing.xml
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="0" android:fromAlpha="1" android:toAlpha="1"/>
Запуск активности:
Intent intent = new Intent();
intent.setClass(getActivity(), PlayerActivity.class);
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.nothing);
Закрытие операции:
@Override
public void onBackPressed() {
finish();
overridePendingTransition(R.anim.nothing, R.anim.slide_out_to_bottom);
}
Ответы
Ответ 1
Я нашел ответ для моей проблемы здесь:
fooobar.com/questions/408001/...
Я только что создал BaseActivity, чтобы все мои действия были подклассифицированы и добавили следующий код в onCreate:
ColorDrawable colorDrawable = new ColorDrawable( Color.TRANSPARENT );
getWindow().setBackgroundDrawable( colorDrawable );
Ответ 2
Это, вероятно, из-за вашего уведомленияBar. В вашем следующем мероприятии также есть уведомлениеBar, и оно поставляется с его пространством. Не уверен, если для этого есть какая-то работа... Вы можете попробовать установить FullScreen, но, конечно, это не то, что вы пожелаете.