SwipeBackLayout是一个很好的类库,它可以让Android实现类似iOS系统的右滑返回效果,但是很多用户在使用官方提供的Demo会发现,可能出现黑屏或者返回只是看到桌面背景而没有看到上一个Activity的UI。
这个问题并不来自Activity内的Java代码,而仅仅是XML文件里关于主题style的设置。如此说来就很简单,实际却容易被引用者忽略。
其实,类库作者在Usage里已经明确提到了要修改translucent属性:
Make window translucent by adding <item name=”android:windowIsTranslucent”>true</item> to your theme.
具体设置如下,在AndroidMainfest里找到Activity的theme,然后指向style,添加android:windowIsTranslucent属性并设值为true即可。
<style name="AppBaseTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:windowIsTranslucent">true</item>
</style>