详解Android ViewCompat的作用
那就是继承+重写. 比如BaseViewCompatImpl这个类是基类, 实现ViewCompatImpl接口, 把所有的方法都实现一次但是这些实现基本上都是空的, 或者无效的, 或者是一些workaround, 这也很正常, 因为确实不可能让每个方法都做到兼容, 只能尽量让他的版本支持多一点, 兼容性方法本来就有很多问题. 以上面这三个方法为例, 前两个方法都是api 14出现的方法, 在14以下基本上等于是直接返回了false, google显然没有想到什么好的方法在低版本提供对这个方法的支持, 所以干脆就在api小于14时一直使用这个实现, 而isOpaque则是类似workaround的方法, 在api 7时, isOpaque被正式添加到View类中, 所以在api 7我们可以直接调View的isOpaque, 那么应该怎么写代码呢?
用户评论