【问题标题】:Writing an Android library: use AppCompat?编写 Android 库:使用 AppCompat?
【发布时间】:2019-02-01 00:38:34
【问题描述】:

在编写Android库时,我应该使用支持库提供的AppCompatSupport变体吗?

例如,一个方法应该采用Activity 还是AppCompatActivitysupport.v4.Fragmentandroid.app.Fragment?

【问题讨论】:

标签: android android-support-library android-appcompat android-library


【解决方案1】:

一般来说,您应该尽可能使用 AppCompat 库。该库为一些新功能(无论是实用的)提供了反向移植,并修复了各种版本特定版本中的错误。对于活动和片段来说尤为重要,因为片段至少在版本之间存在重大差异。

【讨论】:

  • 但是与导入应用程序使用的版本冲突怎么办?
  • 使用你的app可以提供冲突解决方案,在发生冲突的情况下使用他想要的版本。
【解决方案2】:

AppCompatActivity是支持库ActionBar的基类,而Activity实际上是AppCompatActivity的父类。根据您使用库的目的,如果您不打算在您的库中使用支持库 ActionBar / Fragment 相关功能,我想说,一般来说,活动类对于您的库来说已经足够了。

android.app.Fragment 现在已在 API 28 中弃用。所以请寻求支持 Fragment version

【讨论】:

  • AppCompatActivity 与 ActionBar 无关。 Activity 也有一个 ActionBar。 AppCompatActivity 是 Activity 的一个版本,它将功能向后移植到旧平台并提供错误修复/行为规范化。
  • 我确实错过了支持版本的 ActionBar。如果您查看文档,它已经是文档的第一行。感谢您指出我的错误。
  • 在这里操作。这个答案确实提供了一些有用的东西:AppCompatActivity extends Activity。我不明白反对票,我赞成
猜你喜欢
  • 1970-01-01
  • 2015-11-12
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多