android项目中引入CoordinatorLayout控件问题总结

来源:互联网 发布:路由器性能测试软件 编辑:程序博客网 时间:2024/06/05 16:16

在项目开发中,为了实现更好的滑动效果,使用了CoordinatorLayout等控件。在使用的过程遇到了几个问题,总结出来。
CoordinatorLayout控件是在android support-v7包中提供的,所以要想使用CoordinatorLayout, 首先就要导入support-v7。导入的方法比较简单,在build.gradle文件下面添加依赖即可

dependencies {    compile fileTree(dir: 'libs', include: ['*.jar'])    testCompile 'junit:junit:4.12'    compile 'com.android.support:recyclerview-v7:25.2.0'    compile 'com.android.support:appcompat-v7:25.2.0'    compile 'com.android.support:design:25.2.0'}

但是,添加依赖后编译失败,提示> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/print/PrintHelperApi23.class
错误的原因是工程其它module依赖有文件compile “com.android.support:support-v4:24.1.1”,与support-v7内部依赖的support-v4版本不一样,既然知道原因了解决方案就简单了,把其它module依赖的support-v4的版本号改为25.2.0(即依赖support-v7的版本号),即可编译通过。啰嗦一句,同时也要把依赖的recyclerview的版本号改为25.2.0,建议依赖的support库文件的版本号都一致。

网上有说通过如下配置也可以解决依赖冲突的问题,但是亲测无效。

configurations {    all*.exclude group: 'com.android.support', module: 'support-v4'}

编译运行起来后,CoordinatorLayout控件没有起作用,不能够使上面的头部View和下面的ListView联动起来。原因是,默认的appbar_scrolling_view_behavior不支持对ListView的依赖,可以支持对RecyclerView的依赖,把ListView替换为RecyclerView后,即可以实现上下View的联动滑动。

refer:
CoordinatorLayout的使用可以参考CoordinatorLayout的使用如此简单
gradle依赖库发生冲突可以参考gradle 管理依赖库两个问题

原创粉丝点击