ActionBarSherlock仍然必要吗?

8
直到今天早些时候,我认为如果我想在低于SDK版本11的设备上使用ActionBar,我需要使用ABS。但是,在查看了这里的一些问题后,我发现了这个:http://developer.android.com/resources/samples/ActionBarCompat/index.html 这个系统看起来提供了一个在preHoneycomb设备上完全功能的actionbar系统。具体来说,虽然我没有在那些类中看到与actionbar标签有关的任何内容。有人成功地使用这个actionbarhelper类与actionbartabs吗?
有人有使用这两个系统的经验吗?我试图将我的Android项目导入到ABS中,但遇到了很多问题,无论是让我的R文件链接,将清单带入文件夹,获取正确的包名称以使我的活动启动,还是超级混乱的src文件夹。因此,如果可能使用这个由Google提供的代码,我认为这可能是可取的 - 如果可以使用选项卡?

1
如果您知道该怎么做,集成ABS非常简单易行。ActionBarCompat实用工具很有用,但它处理的功能远不如ABS多。它只能处理非常基本的ActionBar。 - HandlerExploit
我从未说过我知道自己在做什么。这是我在Android上的第一个应用程序,到达能够说我拥有完全功能的ViewPager、TabAdapter、片段选项卡系统以及一些基本的登录/注册功能来自SQL服务器的点,已经是一只野兽了。我会从你的评论中得出这样一个想法,即我应该强制自己通过让ABS发挥作用,而不是尝试设置ActionBarCompat。 - Davek804
1个回答

10
该系统看起来可以在Honeycomb版本之前的设备上提供完整的操作栏系统。
与原生操作栏或ActionBarSherlock相比,ActionBarCompat并非“完全功能”。
这个actionbarhelper类是否有人成功地用于actionbartabs?
它不支持标签页。
我正在尝试将我的Android项目导入ABS中,并让R文件链接,将清单带入文件夹,获取正确的包名称以使我的活动能够启动,以及处理过度混乱的src文件夹等问题,这真是费了好大劲。
步骤1:下载ABS ZIP文件
步骤2:将项目(在library/中)导入Eclipse,并将其标记为使用Android 4.0或更高版本进行编译。
步骤3:将其作为库项目添加到现有项目中。
步骤4:从SherlockActivity或相关类(例如SherlockListActivity)继承,并根据需要更新其他引用(例如MenuInflater)为Sherlock等效项。
步骤5:将Theme.Sherlock添加到您的<application><activity>元素中。
除了通常使用原生操作栏要做的事情之外,就这些了。
因此,如果可以使用Google提供的代码,我认为这可能是可取的。
Android开发者网站“samples”区域中的代码仅仅是示例代码。该代码不受支持、不维护(有些甚至已经不能用了)等。如果你更喜欢使用这样的代码而不是使用许多工程师在使用的组件,拥有自己的支持团队等,则欢迎使用。

这是我的第一个 Android 应用程序,花费了很大的力气才能说我拥有了一个完全功能的 ViewPager、TabAdapter、片段标签系统以及与 SQL 服务器进行基本登录/注册的功能。

也许你应该从一个更简单的应用程序开始。除非受到具体指导(例如一系列教程),否则我不会建议某人从您所描述的内容开始。


1
@dannyroa:要使用ActionBarSherlock,您需要将构建目标设置为API Level 14或更高版本。这不会影响您的android:minSdkVersion - 您仍然可以支持返回到API Level 7的应用程序。 - CommonsWare
Mark,你说“它不支持选项卡”,但是难道不应该是“它不支持<4.0的选项卡”吗?因为基本上你有一个双重结构,你仍然可以在引入它们的平台上使用所有本地操作栏功能。 - pjv
@pjv:这个问题是关于ActionBarCompat的。ActionBarCompat不支持任何Android版本的选项卡。如果您选择在某些版本上不使用ActionBarCompat,那是您的决定,然后有一些方法可以获得选项卡。但是,**ActionBarCompat**不支持任何Android版本的选项卡。 - CommonsWare
这还有效吗?ABS库是否已经不再是兼容性库的改进了? - M Rajoy
如果您不打算支持v2.x Android设备,那么使用ABS就没有必要了。这是由编写它的人所说的:http://jakewharton.com/deprecated-from-inception/ - Michael
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接