近期关于项目中踩了一些兼容性的bug,这里记录一下。
第一个是用友盟分享组件6.1.1版本,SDK中的分享面板不支持自定义面板背景,比如我想换一个圆角背景,就没办法。于是就反编译看了他们的代码,然后黑了一下,加入了自定义背景接口。结果线上出现了一个bug,原因是下面这段我加入的代码:
if (this.mConfig.mShareboardBgDrawable != null) {
shareMenuLayout.setBackground(this.mConfig.mShareboardBgDrawable);
}
现在来看,显然我犯了一个兼容性错误。
因为API16以下,View中是没有setBackground方法的,只有setBackgroundDrawable方法。这点是我个人疏忽,以前项目中没经历过兼容性,没有这方面意识,然后导致这次错误,最后造成线上4.1.2以下的设备会crash。
修改如下:
if (this.mConfig.mShareboardBgDrawable !=