将ActionBarActivity更改为AppCompatActivity的影响

时间:2017-01-23 11:24:41

标签: android

我正在开发一个旧的Android项目,你知道吗,当我在项目的所有类中通过 AppCompatActivity 更改 ActionBarActivity (已弃用)时会有什么影响? 谢谢。

1 个答案:

答案 0 :(得分:0)

sergej shafarenka's answer

复制

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

如果您开始新的开发,那么您应该立即使用新的AppCompatActivity课程。如果您有机会更新自己的应用,请将新推荐的ActionBarActivity替换为新活动。否则,您可以继续使用已弃用的活动,并且行为根本没有差异。

关于AppCompatDelegate,它允许您在活动中使用新的有色小部件,既不是AppCompatActivity也不是ActionBarActivity

例如,您从外部库继承了一个活动,而该活动依次从<{1}}继承而不是,但您希望此活动具有着色的材质小部件(视图)。要实现这一目标,您需要在活动中创建AppCompatActivity的实例,覆盖该活动的方法,例如AppCompatDelegateaddContentView()等。(请参阅setContentView() javadoc方法列表),并在这些重写方法内转发对内部AppCompatDelegate实例的调用。 AppCompatDelegate将完成其余工作,您的“旧时尚”活动将“物化”。