Подтвердить что ты не робот

Как удалить черный фон между началом новой активности во время анимации slide_left?

когда я вызываю новую активность по анимации, фон становится черным, поэтому я хочу удалить черную заднюю поверхность, чтобы как я могу это достичь?? Для анимации я использую

 getWindow().setBackgroundDrawableResource(R.drawable.mainbg_); 
overridePendingTransition (R.anim.push_up_in,0);
4b9b3361

Ответ 1

задайте тему этого действия как переливающееся в файле манифеста

android:theme="@android:style/Theme.Translucent"

поэтому ваш код будет чем-то вроде этого

<activity android:name=".AdActivity"
        android:theme="@android:style/Theme.Translucent" />

Ответ 2

Настройка темы не работала для меня, но добавление анимации выхода сделало.

overridePendingTransition (R.anim.push_up_in,R.anim.hold);

Для анимации выхода я просто использовал анимацию, которая ничего не делает.

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0%p" android:toYDelta="0%p" android:duration="2000"/>
</set>

Ответ 3

Все, что вам действительно нужно, особенно если у вас уже есть тема, заданная для этой операции, и вы не хотите использовать Theme.Translucent, предлагаемый добавить в тему действия/приложения:

<item name="android:windowIsTranslucent">true</item>

Ответ 4

Если вы используете AppCompat ActionBarActivity, вам нужно будет использовать тему, которая расширяет Theme.AppCompat

Чтобы дать мне возможность добавить прозрачность фона только для необходимых ему действий (те, которые были запущены с использованием намерения flag_activity_new_task), но сохраните фон для остальной части приложения. Я расширил основную тему и установил прозрачные параметры фона в этом стиле.

<!-- The main theme applied to the application or activity -->
<style name="Theme.app" parent="Theme.AppCompat.NoActionBar">
    <!-- Your main app theme items go here-->
    <item name="android:windowBackground">@drawable/some_drawable</item>
</style>

<!-- Transparent background for app / activity -->
<style name="Theme.app.Translucent" parent="Theme.app">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
</style>

Ответ 5

Что я понял, проблема заключалась в понимании следующего метода:

overridePendingTransition (R.anim.A, R.anim.B);

Первый аргумент A в этом случае применяется к входящей активности. Например, если мы переходим от X Activity к Y и применяем выше анимацию, чем A применяется к Y и B применяется к X.

Аналогично, когда мы возвращаемся от Y к X в Back Press. если мы применим SAME: чем A применяется к Y и B применяется к X.

Таким образом, это означает, что вы возвращаетесь с Y на X..Apply Hold Animation на X и слева направо на Y.

Надеюсь, что это будет полезно...

Ответ 6

Добавьте атрибут ниже в свое приложение, а затем замените свой собственный цвет:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
     <item name="android:windowBackground">@color/colorBackground</item>
</style>

Ниже эффектов кода для Компонентов активности, если вы используете какой-либо overridePendingTransition(), он создает проблему при переходе, в то время как изменение активности кажется неправильным. Поэтому не используйте этот код для предотвращения черного фона.

 android:theme="@android:style/Theme.Translucent"

                   OR

 <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
       <item name="android:windowIsTranslucent">true</item>
</style>