您的位置:首页 > 其它

使用SwipeBackLayout设置windowIsTranslucent导致Activity动画失效

2016-08-01 15:36 489 查看
最近使用SwipeBackLayout做滑动返回,遇到了不大不小的问题就是Activity的启动方向都是从底部弹出本来感觉很好看,但是也很好奇怎么突然启动方向从底部弹出了呢。

做了一下测试
<item name="android:windowIsTranslucent">false</item>


就可以正常从右边画出了,但是这时在侧滑返回就会发现底部时黑色的,于是我决定要改下这个问题。

手动设置Activity的启动动画于是在style中设置但是发现没起作用因为时这样写的

<style name="animation_translucent_translate" parent="@android:style/Animation.Activity">

<item name="@android:activityOpenEnterAnimation">@anim/activity_right_in</item>

<item name="@android:activityCloseExitAnimation">@anim/activity_right_out</item>

</style>


通过overridePendingTransition设置启动动画可以

startActivity(fromClass, toClass, null);
this.overridePendingTransition(R.anim.activity_right_in, 0);


这样当时就解决了,但是越想越不对为什么在style中设置不可以呢,后来查了下资料发现可以继承Animation.Translucent

<style name="animation_translucent_translate" parent="@android:style/Animation.Translucent">
<item name="@android:activityOpenEnterAnimation">@anim/activity_right_in</item>
<item name="@android:activityCloseExitAnimation">@anim/activity_right_out</item>
</style>


心想这样可以了吧,但是运行之后发现不是从底部滑出了,但也不是从右边滑出,这可怎么办所有的方法都用完了,最后发现在第一个Activity中设置

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


这样就可以正常使用了,因为底部的第一个Activity本来就不需要滑动返回。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: