我计划用我的应用程序支持Android 2.2+,并使其看起来Holo我包含ActionBarSherlock,但现在我必须将限制更高到3.0,因为在较低的API中没有几种方法(例如PreferenceFragment) (我不想重写2.2的所有方法)。 在API 11+上,ActionBarSherlock优于普通的ActionBar(Compat)吗?我应该删除库以减少应用程序的大小,还是有理由我应该保留它?
答案 0 :(得分:1)
因为在较低的API中没有两种方法(例如PreferenceFragment)(并且我不想为2.2重写所有这些方法)
有很多方法可以解决这个问题,同时保持向后兼容性。不仅有其他人向后推(IIRC),但有几行代码可以支持旧的Android版本,正如我在this sample project中演示的那样。
请注意,我并不是说你不应该提出你的android:minSdkVersion
,只是因为这个具体原因不是特别好的理由。如果你的理由是“哎呀,真的值得支持不断减少的设备数量吗?”,这是完全合理的,特别是对于新的应用程序。
ActionBarSherlock优于API 11 +上的正常ActionBar(Compat)吗?
首先,AppCompat操作栏不会改变您的偏好问题。
其次,从there are approximately zero devices running API Levels 11 through 14开始,如果您要提升android:minSdkVersion
,请转到15.在该级别,此时动作栏后退将无法真正为您添加。< / p>
但是,如果您做决定支持API级别11作为最低要求,那么在API级别14中ActionBar
会添加一些内容,即ActionBarSherlock提供的内容(可能还有AppCompat) ,虽然我没有检查过),但在原生操作栏中不可用。