Как удалить черный фон между началом новой активности во время анимации slide_left?
когда я вызываю новую активность по анимации, фон становится черным, поэтому я хочу удалить черную заднюю поверхность, чтобы как я могу это достичь?? Для анимации я использую
getWindow().setBackgroundDrawableResource(R.drawable.mainbg_);
overridePendingTransition (R.anim.push_up_in,0);
Ответы
Ответ 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>