android-我将开发一个应用程序,它的api介于api 15和最新api之间。我有一点怀疑。
差异
1.Java类扩展AppcompatActivity
并且
2.Java类扩展Activity
并且
3.Java类扩展ActionBarActivity
。
如果有人给我下了明确的定义,我肯定会在我的问题的答案上打勾。
提前谢谢。:)
最佳答案
扩展ActionBarActivity
在每个api级别上都提供ActionBar
的功能>=7
通过扩展Activity
可以避免向项目中添加额外的项目/库,但在低于11的api级别上,您将缺少ActionBar
。ActionBarActivity
是Support Library的一部分。支持库用于在较旧的平台上提供较新的功能。例如ActionBar
是在api 11中引入的,默认情况下是Activity
的一部分(具体取决于主题)。相比之下,在旧平台上没有ActionBar
。因此,支持库添加了一个子活动类(ActionBarActivity
),它提供了ActionBar
的功能和ui
新的不推荐使用的ActionBarActivity
版本(扩展AppCompatActivity
类的版本)是一个安全的向后兼容类。它的反对只是提示您直接使用newAppCompatActivity
。AppCompatActivity
是一个新的、更通用的实现,它在内部使用AppCompatDelegate
类。
例如,您从外部库继承活动,而外部库又不是从AppCompatActivity
继承,但您希望此活动具有着色材质小部件(视图)。要实现它,您需要在活动内部创建AppCompatDelegate
的实例,该活动的override
方法,如addContentView()
,setContentView()
等(方法的完整列表请参见AppCompatDelegate
javadoc),并在这些重写的方法内部将调用转发到内部AppCompatDelegate
实例。AppCompatDelegate
将完成剩下的工作,您的“旧时尚”活动将“物化”。
资料来源:this和this。