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

来源:互联网 发布:网络销售月工作计划 编辑:程序博客网 时间:2024/06/06 10:56

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

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

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

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

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

AnimationActivity的代码如下

    <style name="AnimationActivity" parent="@android:style/Animation.Activity">        <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 和 Animation.Activity 要冲突因为继承的关系吧所有就只能用一个,但是网上说的可以用Animation.Translucent把Animation.Activity替换了确实可以用但是Animation.Translucent使用起来BUG太多了,没法就只能去用代码方法解决了

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

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

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

                                             
1 0
原创粉丝点击