很多朋友都用ActivityGroup 来做底部菜单吧~
我也觉得这个控件很好,自由性比tab好很多。但是确实发现了很多问题:
1.子页面activity的menu不显示。(子页面的按键监听无输出,所以其他按键也无效!)
2. 子页面默认wrap_content布局,无法设置为fill_parent!需根据页面大小动态设置!(这里参考另一篇:http://androidturing.iteye.com/blog/1258839)
3.子页面中的ListView的getView()方法被重复调用多次!导致性能下降。(同样参考:http://androidturing.iteye.com/blog/1258839)
之前第二个问题已经解决,第三个问题是由于第二个问题中 子页面纵向布局为wrap_content而引起的!
今天发现并解决了第一个bug,在activitygroup加上这个:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_MENU) {
this.getLocalActivityManager().getCurrentActivity().openOptionsMenu();
}else if(keyCode == KeyEvent.KEYCODE_BACK){
finish();//可换用自己的退出提示
}
return super.onKeyDown(keyCode, event);
}
分享到:
相关推荐
Fragment可以像Activity一样拥有自己的UI和生命周期,而且可以在同一个Activity中进行动态添加、删除和替换,解决了ActivityGroup的一些问题,同时也更符合Android设计原则。 在升级到使用Fragment时,需要注意以下...
在Android开发中,ActivityGroup是早些版本API中提供的一种特殊类型的Activity,它允许开发者在一个TabHost或者帧布局(FrameLayout)中嵌套多个Activity,从而实现类似iOS中UINavigationController的堆叠管理器效果...
`ActivityGroup`在早期的Android版本中被用来解决在同一个栈内管理多个`Activity`的需求,但在Android 3.0(API Level 11)之后,官方推荐使用`Fragment`来替代,因为`Fragment`提供了更灵活且性能更好的解决方案。...
ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...
然而,有时开发者可能需要在同一个栈中管理多个Activity,这时`ActivityGroup`就派上了用场。`ActivityGroup`是早期Android版本(Android 2.x)提供的一种特殊类型的`ViewGroup`,允许在同一个`TabHost`或`...
首先,ActivityGroup是Android早期版本(API Level 10及以下)提供的一种解决方案,用于实现在一个Activity中展示多个子Activity的效果。然而,自Android 3.0(API Level 11)起,官方推荐使用Fragment替代...
在Android开发中,有时我们需要在一...尽管在新的Android开发中不推荐使用,但在某些特定场景下,它仍能提供一种解决方案。不过,为了保持代码的可维护性和兼容性,开发者应优先考虑使用`Fragment`或其他现代的UI组件。
在Android开发中,ActivityGroup是一种特殊类型的Activity,它允许开发者在一个Activity内嵌套其他Activity,实现类似TabHost或Fragment的效果,但这是在Android早期版本(API级别较低)中的一种实现方式。...
在处理外跳转时,可能需要重写`onKeyDown()`方法,监听BACK按键事件,以控制返回逻辑: ```java @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && ...
5. **外跳转处理**:在子Activity中,当需要跳转到不在ActivityGroup内的Activity时,使用`startActivityForResult()`或`startActivity()`,然后在ActivityGroup中监听并处理结果,以保持返回栈的正确性。...
GroupDemo项目中的修正调用系统Activity的Bug,可能是解决了当在ActivityGroup内部调用系统Activity(如Intent.ACTION_PICK)时,导致的生命周期混乱问题。在这样的情况下,可能需要手动处理启动系统Activity的返回...
在Android开发中,ActivityGroup是一种特殊的Activity类型,它允许开发者在一个Activity中嵌套其他Activity,形成多层级的界面结构。这个“ActivityGroup应用实例”应该是一个详细的教程,旨在帮助开发者理解如何...
在Android开发中,创建一个具有分页功能的Tab布局是常见的需求,这通常涉及到GridView和ActivityGroup的结合使用。下面将详细解释这两个组件以及如何利用它们实现Tab分页。 首先,`GridView`是Android的一种视图...
在Android开发中,ActivityGroup和GridView是两种常用的组件,它们可以协同工作来实现标签分页的效果,这是一种常见的用户界面设计模式,通常用于展示多个类似内容的页面,让用户通过标签进行切换浏览。本篇将深入...
在Android开发中,TabHost和ActivityGroup是两个关键组件,它们常常被用来构建具有标签页切换功能的应用界面。本文将详细讲解如何将这两个组件结合使用,以实现多Activity间的高效跳转和堆栈管理。 首先,TabHost是...
现在的项目框架中很少用到activitygroup这种东西,谷歌也标识其为过时的产物了,但是在很多老项目中activitygroup还是普遍存在的,但是随之而来的就是activitygroup下的edittext一旦输入文字后便不能删除。...
在Android应用开发中,ActivityGroup是一种特殊的容器,它允许在一个栈结构中管理多个子Activity,常见于早期Android版本(低于Android 3.0)的Tab布局或者自定义导航栏设计中。ActivityGroup的主要目的是实现类似...
在Android开发中,TabHost和ActivityGroup是两个重要的组件,它们用于实现复杂的界面布局和交互。TabHost主要用于创建带有标签页的应用界面,而ActivityGroup则允许你在同一个父Activity下管理多个子Activity,使得...
在安卓应用开发中,TabHost和ActivityGroup是两种常见的组件,用于实现多页面的导航和管理。本资源“安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip”提供了一个实例,帮助开发者理解如何在TabHost中...
在Android开发中,ActivityGroup是一种比较老的实现多层级界面嵌套的方式,它主要用于API等级较低的Android系统。ActivityGroup是android.app.LocalActivityManager的容器,允许在一个Activity中管理多个子Activity...