开源框架地址:
https://github.com/ikew0ng/SwipeBackLayout
为了兼容5.0以上 需改以下代码:
Util.convertActivityToTranslucent包中的
public static void convertActivityToTranslucent(Activity activity) {
try {
Class[] t = Activity.class.getDeclaredClasses();
Class translucentConversionListenerClazz = null;
Class[] method = t;
int len$ = t.length;
for(int i$ = 0; i$ < len$; ++i$) {
Class clazz = method[i$];
if(clazz.getSimpleName().contains("TranslucentConversionListener")) {
translucentConversionListenerClazz = clazz;
break;
}
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Method var8 = Activity.class.getDeclaredMethod("convertToTranslucent", translucentConversionListenerClazz, ActivityOptions.class);
var8.setAccessible(true);
var8.invoke(activity, new Object[]{null, null});
} else {
Method var8 = Activity.class.getDeclaredMethod("convertToTranslucent", translucentConversionListenerClazz);
var8.setAccessible(true);
var8.invoke(activity, new Object[]{null});
}
} catch (Throwable e) {
}
}
为了解决滑动黑屏 在需要滑动的Activity的Them 添加以下item
<item name="android:windowIsTranslucent">true</item>
关闭滑动
//关掉右滑返回 SwipeBackLayout mSwipeBackLayout = getSwipeBackLayout(); mSwipeBackLayout.setEnableGesture(false);