天天看點

自定義tabview

import android.R.anim;

import android.R.integer;

import android.app.Activity;

import android.app.ActivityGroup;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.FrameLayout;

public class Main extends ActivityGroup{

    private String content="Tab1";

    ViewGroup tabContent;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        ViewGroup tabs=(ViewGroup)findViewById(R.id.tabs);

        tabContent=(FrameLayout)findViewById(R.id.tabcontent);

        setCurrentTab(0);

        for (int i = 0; i < tabs.getChildCount(); i++) {

            View child=tabs.getChildAt(i);

            child.setTag(i);

            if(child instanceof Button){

                child.setOnClickListener(new OnClickListener() {

                    public void onClick(View v) {

                        // TODO Auto-generated method stub

                        Button button=(Button)v;

                        content=(String)button.getText();

                        setCurrentTab(Integer.parseInt(v.getTag().toString()));

                    }

                });

            }

        }

    }

    private Intent getTabIntent(int index){

        Intent intent;

        if(index%2==0){

            intent=new Intent(this, Activity1.class);

        }else{

            intent=new Intent(this, Actvity2.class);

            intent.putExtra("content", content);

        }

        return intent;

    }

    private void setCurrentTab(int index){

        View view=getLocalActivityManager()

        .startActivity("tab"+index, getTabIntent(index)).getDecorView();

        tabContent.removeAllViews();

        FrameLayout.LayoutParams lp=new FrameLayout.LayoutParams(

                FrameLayout.LayoutParams.FILL_PARENT,

                FrameLayout.LayoutParams.FILL_PARENT);

        tabContent.addView(view,lp);

    }

}