Android- Java类之间的差异扩展了AppcompatActivity&扩展活动&扩展ActionBar?

时间:2015-11-07 06:49:03

标签: android android-activity android-actionbar appcompatactivity

Android - 我将开发一个应用程序API API API与最新API之间的API。我有一个疑问。

之间的区别

1.Java类扩展AppcompatActivity

2.Java类扩展Activity

3.Java类扩展ActionBarActivity

如果有人给出明确的定义,我肯定会将答案记录为我的问题。

先谢谢。 :)

2 个答案:

答案 0 :(得分:2)

  • 扩展ActionBarActivity为您提供每个API级别的ActionBar功能> = 7
  • 通过扩展Activity,您可以避免向项目中添加其他项目/库,但是您在api级别低于11时缺少ActionBar

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

  • 新推荐的ActionBarActivity版本(扩展AppCompatActivity类)可以安全地使用向后兼容性类。它的弃用仅仅是您直接使用新AppCompatActivity的提示。 AppCompatActivity是一种新的,更通用的实现,它在内部使用AppCompatDelegate类。

例如,您从外部库继承了一个活动,而该活动又不从AppCompatActivity继承,但您希望此活动具有着色的材料小部件(视图)。要实现这一目标,您需要在活动中创建AppCompatDelegate的实例,override该活动的addContentView()方法,例如setContentView()AppCompatDelegate等。(请参阅AppCompatDelegate javadoc获取完整的方法列表),并在这些重写方法内部转发对内部AppCompatDelegate实例的调用。 String id = IConsoleConstants.ID_CONSOLE_VIEW; IViewPart consoleView = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().showView(id); 将完成余下的工作以及您的旧时尚"活动将被实现"。

来源:thisthis

答案 1 :(得分:1)

扩展AppcompatActivity很好。AppcompatActivity帮助我们在低api中使用新功能。

相关问题