3

Android - 我将开发一个 API 介于 API 15 和最新 API 之间的应用程序。
但我有一个关于“Java 类扩展”的问题。

有什么区别:

  1. Java 类extends AppcompatActivity,以及

  2. Java 类extends Activity,以及

  3. Java 类extends ActionBarActivity

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

4

2 回答 2

3
  • 扩展ActionBarActivity为您ActionBar提供每个 API 级别 >= 7 的功能
  • 通过扩展,Activity您可以避免向您的项目添加额外的项目/库,但您将缺少ActionBar低于 11 的 on api 级别

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

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

例如,您从外部库继承了一个活动,而该库又不继承自,AppCompatActivity但您希望此活动具有着色材质小部件(视图)。要做到这一点,您需要AppCompatDelegate在活动内部创建一个实例,override该活动的方法如addContentView()setContentView()(有关方法的完整列表,请参见AppCompatDelegatejavadoc),并在这些被覆盖的方法内部将调用转发到内部AppCompatDelegate实例。AppCompatDelegate将完成其余的工作,您的“老式”活动将“物化”。

资料来源:这个这个

于 2015-11-07T07:06:19.257 回答
1

延长AppcompatActivity是好的。AppcompatActivity是帮助我们在低中使用新功能api

于 2015-11-07T06:54:13.553 回答