天天看点

TabHost效果实现的另一种方式---------不继承TabActivity

直接继承Activity,不继承TabActivity,实现tabhost的效果

package com.hsx.tab;

import android.app.Activity;
import android.app.LocalActivityManager;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;

public class MyTabTestActivity extends Activity {
	LocalActivityManager mlam;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mlam = new LocalActivityManager(this, false);
		mlam.dispatchCreate(savedInstanceState);
		TabHost th = (TabHost) findViewById(R.id.tabhost);
		Resources res = getResources();

		th.setup(mlam);
		Intent intent1 = new Intent().setClass(this, Show1.class);
		Intent intent2 = new Intent().setClass(this, Show2.class);
		
		TabSpec tabSpec1 = th.newTabSpec("show1").setIndicator("show1", res.getDrawable(R.drawable.tab_my_normal)).setContent(intent1);
		
		TabSpec tabSpec2 = th.newTabSpec("show2").setIndicator("show2", res.getDrawable(R.drawable.tab_rcm_normal)).setContent(intent2);
        
		th.addTab(tabSpec1);
		th.addTab(tabSpec2);
	}

	@Override
	protected void onResume() {
		super.onResume();
		mlam.dispatchResume();
	}

	@Override
	protected void onPause() {
		super.onPause();
		mlam.dispatchPause(isFinishing());
	}

}
           

Show1

package com.hsx.tab;

import android.app.Activity;
import android.os.Bundle;

public class Show1 extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.show1);
	}
}
           

Show2

package com.hsx.tab;

import android.app.Activity;
import android.os.Bundle;

public class Show2 extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.show2);
	}
}

           

main.xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:paddingTop="5dip" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="0.0dip"
            android:layout_weight="1.0" />

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="0.0" />
    </LinearLayout>

</TabHost>