3

我像这样安排一个活动:

new Thread() {
    @Override
    public void run() {
        Intent i = new Intent();
        i.setClass(getBaseContext(), newPage.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        getBaseContext().startActivity(i);
    }
}.start();

我用getActivity().overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.nothing);

在 newPage.class 我使用overridePendingTransition(R.anim.nothing, R.anim.slide_out_to_bottom);

动画是: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"/>

那么穿什么?

当我完成 newPage.class 它看起来很棒,但是当我开始 newPage.class - 活动消失(黑屏),然后新活动的动画才开始[我想保持屏幕上的第一个活动,直到新活动一个覆盖它]

** 试过getWindow().setBackgroundDrawable(null);

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

但没有运气...

4

1 回答 1

3

您可以尝试像这样更改主题:

res/values/styles.xml文件中(如果你没有,创建它):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowNoTitle">true</item>
        <item name="android:backgroundDimEnabled">false</item>
    </style>
</resources>

在 AndroidManifest.xml 中:

<activity android:name=".newPage" android:theme="@style/AppTheme">
...
</activity>
于 2013-07-23T10:01:39.737 回答