关于用到windowIsTranslucent和windowAnimationStyle的冲突做个记号

时间:2025-01-27 09:53:38

在项目中遇到这样的一个问题,想要实现像微信一样的右滑finish()掉当前的activity,在网上找到一个别人做好了的库,但是在使用的时候遇到了一个问题就是要使用它就必须

 

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

 

 

 

但是项目在style文件里设置了一个像微信一样的activity加载动画也就是设置了

<strong><item name="android:windowAnimationStyle">@style/AnimationActivity</item></strong>

AnimationActivity的代码如下

 

    <style name="AnimationActivity" parent="@android:style/">
        <item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>
        <item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
        <item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
        <item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
    </style>


因为 windowIsTranslucent 和 要冲突因为继承的关系吧所有就只能用一个,但是网上说的可以用把替换了确实可以用但是使用起来BUG太多了,没法就只能去用代码方法解决了

 

 

 

 

finish();
overridePendingTransition(.slide_left_in, .slide_right_out);
startActivity(intent);
overridePendingTransition(.slide_right_in, .slide_left_out);


在finish和startactivity两个方法之后使用overridePendingTransition

 

父类重写一下finish()和startActivity()等
问题解决了