前言
最近在对以前做的一款天气软件进行版本更新,名字叫悟空天气,在这次的代码更新中加入了 mikepenz大神的MaterialDrawer这个开源控件,方便进行城市列表的管理,包括增加和删除,并且在这次版本所有的控件都使用了com.android.support:appcompat-v7的控件,具有更好的ui效果,现在最新版本的代码还在更新中,所以现在只放出了version1.1版本的代码,下载地址是github地址。version2.0版本更新完成后,再传到github上,如果对各位有点帮助,请点击右上角的star吧。
问题原因
在使用过程中需要使用Snackbar控件,而这个控件需要com.android.support:design包的支持,所以使用android studio导入此包,到Sync完成后发现报了Attribute ”rippleColor“ has already been defined这个错,问题很明了,就是rippleColor这个属性在其他的文件里已经定义了,于是就产生了冲突,那么到底和谁产生了冲突了,最后查看错误代码,发现和MaterialDesignLibrary这个库文件差生了冲突,但是这些库文件我是通过marven在线导入的,代码不可修改,所以问题原因找到了,如何来修改呢?
解决方法
使用第三方rippleColor名字修改后的MaterialDesignLibrary库来代替原来的MaterialDesignLibrary文件,这样可以避免名称重复,在这里提供一个修改后的库,如下:
在build.gradle文件里增加
repositories {
jcenter()
maven { url "https://jitpack.io" }
}
并且在dependencies 代码段中将MaterialDesignLibrary更换为com.github.vajro:MaterialDesignLibrary:1.6。