我知道LinearLayoutCompat实现了给我们一些更新的方法,它们被更高级别的
android添加到更低级别的android.
我的问题是这个方法:
linearLayout.setPaddingRelative
这是在API 17中添加的,但我们应该通过使用以下代码将其置于较低的API中吗?
linearLayoutCompat.setPaddingRelative
Call requires API level 17 (current min is 15): android.view.View#setPaddingRelativ
那么LinearLayout和LinearLayoutCompat之间的区别是什么?
解决方法
添加了LinearLayoutCompat以支持在较旧的API级别(如分隔符)中添加的较新API级别的方法.如果比较
LinearLayout和
LinearLayoutCompat中的方法,您会发现Compat布局包含LinearLayout的所有方法,没有任何API级别限制.
这让我们回到你的问题:你正在尝试使用一个方法,它是 View类的一部分(LinearLayout继承自View类). View类支持的方法取决于不同的API级别,这就是为什么你不能在API级别17之前使用此方法的原因,无论是LinearLayout还是LinearLayoutCompat.
这让我们回到你的问题:你正在尝试使用一个方法,它是 View类的一部分(LinearLayout继承自View类). View类支持的方法取决于不同的API级别,这就是为什么你不能在API级别17之前使用此方法的原因,无论是LinearLayout还是LinearLayoutCompat.
如果您想使用此方法,无论您使用的是什么API级别,都可以使用ViewCompat类并调用ViewCompat.setPaddingRelative(View view,…).