TabHost和ActivityGroup用法

TabHost用法

// 通过getTabHost()方法获得tabhost对象
TabHost th = getTabHost();
//设置标签的内容
th.addTab(th.newTabSpec(“1").setIndicator("Tab1",
getResources().getDrawable(R.drawable.logo))
.setContent
new Intent(this, test1Act.class)));
设置选项卡的高度和宽度
tw.getChildAt(i).getLayoutParams().height =100;
tw.getChildAt(i).getLayoutParams().width = 100;
tabHost设置位于底部
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <TabWidget android:id="@android:id/tabs" android:layout_alignParentBottom="true" android:layout_width="fill_parent" android:layout_height="60px" /> </RelativeLayout>

ActivityGroup的用法

LinerLayout 布局{
ScrollView 组件
LinerLayout{}

btnModule1.setOnClickListener( new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ScrollView container.removeAllViews();
//必须先清除容器中所有的View
//容器添加View
container.addView(getLocalActivityManager().startActivity(
     "Module1", new Intent(FirstActivityGroup. this,
ModuleView1. class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView()); } });    
/*给你将要启动的Activity设置一个唯一的字符串ID与之关联,因此,如果你以后调用startActivity()的上一次相同的活动对象将被保留。当以前的活动根据这个ID开始,就可能要么被摧毁,以一个新的开始,或者当前的一个再利用。如果当前活动采用非多重启动模式(如singleTop),或意图有Intent.FLAG_ACTIVITY_SINGLE_TOP标志设置,那么当前活动将继续运行,Activity.onNewIntent()方法调用。如果新的意图是与前一个相同,而新的意图没有Intent.FLAG_ACTIVITY_CLEAR_TOP设置,那么当前的活动将继续运行原样。否则,目前的活动将结束,一个新的开始。*/
只能允许一个Activity活动在当前的ActivityGroup 中
当startActivity的时候会按照给定的资源ID去ActivityManager中去查找Activity,这个Activity只有两种状态,要么存在要么被销毁了。 

 

捕获返回键的按键事件

主Activity
public boolean onKeyDown( int keyCode, KeyEvent event) {    
                 // TODO Auto-generated method stub    
                 if(keyCode==KeyEvent.KEYCODE_BACK)    
                {     //这里放捕获按键处理事件    
                }    
return super.onKeyDown(keyCode, event);    
}    
//每个Activity
public boolean onKeyDown( int keyCode, KeyEvent event) {    
if(keyCode == KeyEvent.KEYCODE_BACK){    
return getParent().onKeyDown(keyCode, event);    
} else{ return super.onKeyDown(keyCode, event);        
}    }
 

TabHost和ActivityGroup的区别

ActivityGroup是TabHost的父类
TabHost  跳转到新的Activity
th.addTab(th.newTabSpec( "1").setIndicator( //设置标签的内容
(createView( "Tab1", R.drawable.green))).setContent( //跳转
new Intent( this, test1Act. class)));
ActivityGroup 添加到View  
container.addView(getLocalActivityManager().startActivity(        
"Module2", new Intent(FirstActivityGroup. this, ModuleView2. class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)) .getDecorView());
 将Activity转化为View
 

你可能感兴趣的:(TabHost和ActivityGroup用法)