2

Android - 我打算开发一个应用程序,在API 15之间的API与最新的API之间。我有一个疑问。 3.Java类Android- Java类之间的区别扩展了AppcompatActivity并扩展了Activity并扩展了ActionBar?

差异与

之间

1.Java类扩展AppcompatActivity

2.Java类扩展Activity

延伸ActionBarActivity

如果有人给出明确的定义,我肯定会打勾答案接受我的问题。

在此先感谢。 :)

+0

取决于您想要开发的Android API级别。对于当前的API级别(> 20),忘记该compat/actionbar的东西,只是使用一个活动。 – Stephan

+0

延伸ActionBar?从来没有读过.. !!! –

+0

谢谢。 API 15更新到API。 –

回答

2
  • 延伸ActionBarActivity给你ActionBar小号功能在每个API级别> = 7
  • 通过扩展Activity你能避免增加额外的项目/库到您的项目,但你会缺乏对低于11 API级别的ActionBar

ActionBarActivitySupport Library的一部分。支持库用于在旧版平台上提供更新的功能。例如,ActionBar在API 11中引入,默认情况下为Activity的一部分(实际取决于主题)。相比之下,旧平台上没有ActionBar。因此,支持库增加了一个子类活动(ActionBarActivity)的,提供了ActionBar的功能和UI

  • ActionBarActivity新弃用版本(一个延伸AppCompatActivity类)是一个安全的使用向后兼容类。它的弃用只是提示您直接使用新的AppCompatActivityAppCompatActivity是一个新的更通用的实现,它在内部使用AppCompatDelegate类。

例如,你继承外部库,这反过来,不从AppCompatActivity继承的活动,但您希望此活动已有色材料部件(视图)。要做到这一点,你需要在你的活动中创建一个AppCompatDelegate的实例,override该活动的方法,如addContentView(),setContentView()等(请参阅AppCompatDelegate javadoc获取完整的方法列表),并在这些重写的方法内部将呼叫转发给内部AppCompatDelegate实例。 AppCompatDelegate将完成剩下的工作,您的“旧时尚”活动将“物化”。

来源:thisthis

1

扩展AppcompatActivity是好的。 AppcompatActivity正在帮助我们在低位使用新功能api