Android API级别的操作栏>;3.0但仍支持API<;3
还有一个兼容性问题 问题 我需要使用api level 3.0及更高版本中的Android API级别的操作栏>;3.0但仍支持API<;3,android,android-fragments,android-actionbar,android-maps,android-compatibility,Android,Android Fragments,Android Actionbar,Android Maps,Android Compatibility,还有一个兼容性问题 问题 我需要使用api level 3.0及更高版本中的选项卡式操作栏,在片段之间切换。但是,我还需要能够在api级别=3的本机操作栏,并为API级别2.x提供向后兼容性。还有一个操作栏兼容性示例项目(我相信是作为SupportAppNavigation列出的)。我认为这基本上是一样的。你想要的是。它使用API>=3的本机操作栏,并为API级别2.x提供向后兼容性。还有一个操作栏兼容性示例项目(我相信是作为SupportAppNavigation列出的)。我认为这基本上是一样
选项卡式操作栏
,在片段之间切换。但是,我还需要能够在api级别<3.0的不同情况下在这些片段之间切换
我已经下载了一个自定义兼容性库,它允许我使用谷歌地图和片段,因此我不能使用库
问题
我如何在3.0及更高版本中实现选项卡式ActionBar
解决方案,并同时满足3.0及更低版本的更大市场
任何帮助都是伟大的。你想要的是。它使用API>=3的本机操作栏,并为API级别2.x提供向后兼容性。还有一个操作栏兼容性示例项目(我相信是作为SupportAppNavigation列出的)。我认为这基本上是一样的。你想要的是。它使用API>=3的本机操作栏,并为API级别2.x提供向后兼容性。还有一个操作栏兼容性示例项目(我相信是作为SupportAppNavigation列出的)。我认为这基本上是一样的。我建议您使用选项卡式动作栏功能
我假设您还需要Fragment
中的MapView
支持。为此,我建议从
(查看user1414726,并给出示例代码)
我认为这是一个比使用库更好的解决方案,尽管它使用的是不推荐的LocalActivityManger
。但在我看来,这比使用库更好,因为每个活动
都是我假设您正在使用的MapViewActivity
的子类 我建议使用它来获得选项卡式操作栏功能
我假设您还需要Fragment
中的MapView
支持。为此,我建议从
(查看user1414726,并给出示例代码)
我认为这是一个比使用库更好的解决方案,尽管它使用的是不推荐的LocalActivityManger
。但在我看来,这比使用库更好,因为每个活动
都是我假设您正在使用的MapViewActivity
的子类 所以我前一段时间设法想出了一个解决方案,只是花了一段时间才把它贴到这里
这是对我有效的解决方案。我需要使用ActionBar,但我还需要使用MapActivity和FragmentActivity,因此无法使用ActionBarSherlock
我所做的是:
- 创建了一个名为CCActionBar的片段,该片段通过将自身添加为侦听器(解释如下)来处理CCTab的触摸。它还膨胀了一个名为action barlayout的布局,该布局安排了选项卡和图像,只需在运行时引用选项卡即可
- 创建了一个名为CCTab的自定义视图,该视图表示操作栏的选项卡。当它被触摸时,它告诉它的听者(CCActionBar)它被触摸了
- 在我的主布局xml文件中有一个操作栏容器,我在运行时根据API级别显示或隐藏该容器
- 现在,在OnCreate方法的主要活动中,我检查API级别是否大于3.0。如果是,我只需实现标准的ActionBar,确保我的自定义ActionBar容器不可见。如果不是,我将设置自定义操作栏,并确保xml布局中的操作栏容器可见
- 然后,我确保在使用任何一种方法的同时按下选项卡时,它的处理方式都是相同的,因此一旦设置完成,您就不必以任何不同的方式处理它
我希望这能在某个地方对某人有所帮助,或者至少能给你一个如何继续的想法。所以我前一段时间设法想出了一个解决方案,我只是花了一段时间才把它贴到这里
这是对我有效的解决方案。我需要使用ActionBar,但我还需要使用MapActivity和FragmentActivity,因此无法使用ActionBarSherlock
我所做的是:
- 创建了一个名为CCActionBar的片段,该片段通过将自身添加为侦听器(解释如下)来处理CCTab的触摸。它还膨胀了一个名为action barlayout的布局,该布局安排了选项卡和图像,只需在运行时引用选项卡即可
- 创建了一个名为CCTab的自定义视图,该视图表示操作栏的选项卡。当它被触摸时,它告诉它的听者(CCActionBar)它被触摸了
- 在我的主布局xml文件中有一个操作栏容器,我在运行时根据API级别显示或隐藏该容器
- 现在,在OnCreate方法的主要活动中,我检查API级别是否大于3.0。如果是,我只需实现标准的ActionBar,确保我的自定义ActionBar容器不可见。如果不是,我将设置自定义操作栏,并确保xml布局中的操作栏容器可见
- 然后,我确保在使用任何一种方法的同时按下选项卡时,它的处理方式都是相同的,因此一旦设置完成,您就不必以任何不同的方式处理它
我希望这对某些人有所帮助,或者至少让您了解如何继续。如果不取消地图片段支持,我无法实现这一点?@discs2-要提供3.0之前的片段支持,您需要使用兼容性库。ActionBarSherlock是兼容性库的一个扩展,所以我不明白为什么需要放弃映射片段支持。你能再解释一下你的担忧吗?为了实现google地图和片段功能,我必须使用兼容性库的扩展,所以我的担忧是我不能同时使用这两种功能