右滑关闭Activity,SwipeBackLayout的使用

来源:互联网 发布:千方百剂医疗器械软件 编辑:程序博客网 时间:2024/06/07 07:16

开源框架Git地址:https://github.com/ikew0ng/SwipeBackLayout

我的demo地址:http://download.csdn.net/detail/wl1769127285/9648682

框架本身需要注意的事项框架已有说明,不做赘述,写一下自己使用过程中的问题:

1、convertToTranslucent可以使用反射的方法进行调用,但是在Lollipop中,它的参数变成了两个,而在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) {    }}

2、<item name="android:windowIsTranslucent">true</item>的使用,注意需要右滑关闭的activity的Theme才需要有这个属性,不需要的则没有这个属性。

注意:若使用过程中右滑看到了桌面,只需要间栈底的activity的theme设置为没有

<item name="android:windowIsTranslucent">true</item>这个样式即可。

1 0
原创粉丝点击