Android - 我将开发一个 API 介于 API 15 和最新 API 之间的应用程序。
但我有一个关于“Java 类扩展”的问题。
有什么区别:
Java 类
extends AppcompatActivity
,以及Java 类
extends Activity
,以及Java 类
extends ActionBarActivity
。
如果有人给出明确的定义,我肯定会勾选我的问题已接受的答案。
Android - 我将开发一个 API 介于 API 15 和最新 API 之间的应用程序。
但我有一个关于“Java 类扩展”的问题。
有什么区别:
Java 类extends AppcompatActivity
,以及
Java 类extends Activity
,以及
Java 类extends ActionBarActivity
。
如果有人给出明确的定义,我肯定会勾选我的问题已接受的答案。
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()
(有关方法的完整列表,请参见AppCompatDelegate
javadoc),并在这些被覆盖的方法内部将调用转发到内部AppCompatDelegate
实例。AppCompatDelegate
将完成其余的工作,您的“老式”活动将“物化”。
延长AppcompatActivity
是好的。AppcompatActivity
是帮助我们在低中使用新功能api
。