TabHost的使用, 如果自定义的话 其实可以隐藏TabWidget 使用自己的Layout, 然后调用TabHost的方法来模拟点击Tab mHost.setCurrentTabByTag("mblog_tab")
Ref:
http://www.cnblogs.com/over140/archive/2011/03/02/1968042.html
如果在一个tab中需要支持还在一个界面启动Activity的话 那就需要ActivityGroup 具体可以看附件中的代码。
package com.javaeye.dengyin2000.android.jokes;
import android.app.ActivityGroup;
import android.os.Build;
import android.view.KeyEvent;
import android.view.View;
import java.util.List;
/**
* Created by IntelliJ IDEA.
* User: EDENYIN
* Date: 12/1/10
* Time: 3:10 PM
* To change this template use File | Settings | File Templates.
*/
public abstract class AbstractActivityGroup extends ActivityGroup {
public List<View> viewHistory;
public void replaceContentView(View view) {
viewHistory.add(view);
setContentView(view);
}
public void back() {
if (!viewHistory.isEmpty()) {
viewHistory.remove(viewHistory.get(viewHistory.size() - 1));
if (viewHistory.isEmpty()) {
finish();
return;
}
setContentView(viewHistory.get(viewHistory.size() - 1));
} else {
finish();
}
}
public void onBackPressed() {
back();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (android.os.Build.VERSION.SDK_INT <= Build.VERSION_CODES.DONUT
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
// Take care of calling this method on earlier versions of
// the platform where it doesn't exist.
onBackPressed();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
分享到:
相关推荐
在这个例子中,我们将会深入理解如何使用TabHost、ActivityGroup以及源码分析,来构建一个实际的应用。 首先,让我们了解一下`TabHost`。它是Android SDK提供的一种布局容器,可以将多个小部件(如按钮、文本视图等...
TabHost限制较多,自己定制不容易使用。本例子继承于ActivityGroup实现与TabHost类似的效果。其中的还实现了按钮的触发状态切换效果。代码详细易懂!上传共同学习,有不好的请指出。。谢谢!
综上所述,"ActivityGroup例子"展示了早期Android中如何实现多界面切换的方案,但现代开发中更倾向于使用Fragments来实现相同的功能,因为它们更符合现代Android设计原则,且提供了更好的性能和可维护性。...
在Android开发中,ActivityGroup是一种特殊类型的Activity,它允许开发者在一个Activity内嵌套其他Activity,实现类似TabHost或Fragment的效果,但这是在Android早期版本(API级别较低)中的一种实现方式。...
ActivityGroup是早期Android SDK中的一个特殊类型,它允许在一个Activity中嵌套多个子Activity,形成类似TabHost或者多窗口的效果。然而,从Android 3.0(API级别11)开始,ActivityGroup被废弃,推荐使用Fragment来...
在`ActivityGroup`的例子中,`TabHost`可能被用来作为容器,展示由`ActivityGroup`管理的不同`Activity`。 总结来说,这个示例项目可能包含一个主`Activity`,使用`ActivityGroup`管理几个子`Activity`,其中一个是...
ActivityGroup是Android早期版本(Android 2.2及之前)中的一个特殊类,它属于TabHost的内部类,主要用于在TabHost中管理多个Activity。在更现代的Android开发中,已经被Fragment和FragmentTransaction等组件取代。...
这个例子中的`.rar`文件可能包含了实现这个功能的源代码,包括`ActivityGroup`的实现、`GridView`的适配器以及`ViewFlipper`的使用示例。开发者可以通过查看和学习这些代码来理解如何将这三个组件组合起来创建选项卡...
在Android早期,开发者常使用ActivityGroup来实现类似Fragment的效果,即在一个Activity中嵌套多个子Activity。然而,这种方式存在许多问题,如内存泄漏、生命周期管理复杂以及难以处理回退栈等。Fragment的出现解决...
在早期的Android版本中,`ActivityGroup`被用来在一个`TabHost`或`ViewPager`内部管理多个子`Activity`,提供一种在不同`Activity`之间切换的方式。`ActivityGroup`继承自`Activity`,它允许我们在一个父`Activity`...
本示例提供三种不同的方法来实现底部标签页,包括使用`TabActivity`、`ActivityGroup`以及`FragmentActivity`。下面我们将详细探讨这三种实现方式。 首先,`TabActivity`是Android早期版本(API 13之前)中用于实现...
尽管在新版本中已不推荐使用,但在某些场景下,如实现类似TabHost的效果,ActivityGroup可以将子Activity嵌套在父Activity中,形成一个局部的Activity栈。 为了优化Activity管理,避免内存泄漏和提高性能,开发者...
`ActivityGroup`是Android早期API(在API 13被弃用)中的一个类,它允许我们在一个单独的`TabHost`或`Activity`中嵌套多个`Activity`。`ActivityGroup`的主要目的是在一个父`Activity`中管理和展示多个子`Activity`...
通常,Tab的实现会用到`TabHost`、`TabWidget`和`FrameLayout`等组件,但现在更常见的是使用`ViewPager`配合`TabLayout`或者`BottomNavigationView`。假设我们使用`TabLayout`,可以这样做: ```java TabLayout ...