Android Studio 上的向后兼容性 (AppCompat)
Posted
技术标签:
【中文标题】Android Studio 上的向后兼容性 (AppCompat)【英文标题】:Backwards compatibility (AppCompat) on Android Studio 【发布时间】:2017-03-01 17:00:13 【问题描述】:在 android Studio 中创建应用并选择 Activity 名称时,我有一个显示“向后兼容性 (AppCompat)”的按钮。在它下面说“如果为假,则此活动基类将是 Activity 而不是 AppCompatActivity”。
这种向后兼容性是关于什么的?
【问题讨论】:
不抱歉,关于使用 AppCompatActivity 与 Activity 之间的区别以及向后兼容性问题 ***.com/a/31297546/115145 还有***.com/a/38963902/115145 您上一条评论中的所有内容都是完全错误的。引用我的第一个链接答案:“AppCompatActivity
来自 appcompat-v7
库。主要是,这提供了操作栏的反向移植。由于在 API 级别 11 中添加了本机操作栏,因此您不需要 AppCompatActivity
. 然而,当前版本的appcompat-v7
还添加了有限的 Material Design 美学,在操作栏和各种小部件方面。使用 appcompat-v7 的优点和缺点,远远超出了这个特定的范围 Stack Overflow回答。”
“然而,当前版本的 appcompat-v7 在操作栏和各种小部件方面也添加了 Material Design 美学的有限向后移植”。 IOW,特别是在 Android 4.x 设备上,您的操作栏和小部件看起来像 Android 5.x+ 默认值 (Theme.Material
),而不是通常出现在 Android 4.x (Theme.Holo
) 上的样子。
【参考方案1】:
所以 Android API 级别的预览版只扩展了所有级别的 Activity
,我记得非常清楚 froyo 和 Gingerbread,所以在这些版本的 API 级别中,没有与之关联的操作栏,或者或多或少的操作栏是可选的并且主要是通过第三方库实现的。来自 jellybean,ActionBar 以上的 4.2.X 正在成为 Android 的标准。此时,Activity 现在扩展了ActionBarActivity
,而不是通常的“Activity”,一段时间后它变成了“AppCompat”。所以基本上 ActionBar 支持是主要区别之一,因为以前的 API 级别将无法处理“AppCompat”,显然还有其他一些区别,但 ActionBar 是主要区别的一部分。虽然所有 API 级别仍然可以处理普通的Activity
【讨论】:
以上是关于Android Studio 上的向后兼容性 (AppCompat)的主要内容,如果未能解决你的问题,请参考以下文章
从 BLE v4.2 到 4.0 的有效载荷大小的向后兼容性