android – LinearLayout和LinearLayoutCompat之间的区别是什么

我知道LinearLayoutCompat实现了给我们一些更新的方法,它们被更高级别的 android添加到更低级别的android.

我的问题是这个方法

linearLayout.setPaddingrelative

这是在API 17中添加的,但我们应该通过使用以下代码将其置于较低的API中吗?

linearLayoutCompat.setPaddingrelative

但我的Android Studio仍然显示以下错误.

Call requires API level 17 (current min is 15): android.view.View#setPaddingrelativ

那么LinearLayout和LinearLayoutCompat之间的区别是什么?

解决方法

添加了LinearLayoutCompat以支持在较旧的API级别(如分隔符)中添加的较新API级别的方法.如果比较 LinearLayoutLinearLayoutCompat中的方法,您会发现Compat布局包含LinearLayout的所有方法,没有任何API级别限制.
这让我们回到你的问题:你正在尝试使用一个方法,它是 View类的一部分(LinearLayout继承自View类). View类支持方法取决于不同的API级别,这就是为什么你不能在API级别17之前使用此方法的原因,无论是LinearLayout还是LinearLayoutCompat.

如果您想使用此方法,无论您使用的是什么API级别,都可以使用ViewCompat类并调用ViewCompat.setPaddingrelative(View view,…).

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...