Анимация слайдов Activity со странным эффектом overridePendingTransition

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

но есть уродливый эффект с горкой. Это можно увидеть на снимке экрана: Screen shot

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

Я думал, что это будет андроид.R.id.вид контента 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"/>

ничего.в 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);
}

2 ответов


Я нашел ответ на мою проблему здесь:

https://stackoverflow.com/a/6396465/1140713

Я только что создал BaseActivity, что все мои действия подклассы и добавил следующий код в onCreate:

ColorDrawable colorDrawable = new ColorDrawable( Color.TRANSPARENT );
getWindow().setBackgroundDrawable( colorDrawable );

Это, вероятно, из-за вашего notificationBar. Ваше следующее действие также имеет notificationBar, и оно поставляется с его пространством. Не уверен, есть ли какая-то работа для этого... Вы можете попытаться установить полноэкранный режим, но, конечно, это не то, что вы хотите.