在项目中遇到这样的一个问题,想要实现像微信一样的右滑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/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()等
问题解决了