package com.ddan.test.view.tab2_step6;

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

/*
 * 
 * 설명
 * 		- Activity + 일반 Layout을 이용해서 Tab 처리하기.
 * 		- layout xml 정의에서 TabHost를 테그로 정의해서 사용함.
 * 		
 * 탭에서 사용되는 클래스들
 * 	1. TabHost 클래스
 * 		- 탭 버튼과 탭 내용을 관리하는 컨테이너.
 * 		- newTabSpect() 메소드
 * 			: 새로운 탭 생성하기.
 * 		- addTab(TabSpec spec);
 * 			: 탭 추가.
 * 		- setup();
 * 			: 인스턴스 생성 후 탭을 설정하기 전에 반드시 호출 해야 됨.
 * 			: TabActivity로 만들어진 activity라면 setup()를 사용할 필요 없음.
 * 		- setCurrentTab() :
 * 			: 탭 선택하기.
 * 	2. TabSpec
 * 		- setContent(Content) <- 탭 내용 설정하기.
 * 		- setIndicator("텍스트", Drawble icon) <- 탭 버튼 텍스트 설정.
 *  3. TabWidget
 * 		탭 버튼 목록 클래스.
 * 	4. Framelayout
 * 		탭 내용에 사용됨.
 * 	
 * 		
 *  
 */
public class View_Tab2_Step6 extends Activity 
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        /*
         *Main에 생성한 TabHost를 사용함.
         * 
         */ 
        
        TabHost tabHost = (TabHost)findViewById(R.id.tabhost);
        // TabActivity를 사용하지 않는 경우 탭추가전 setup() 메소드를 호출해야됨.
        tabHost.setup();
        
        	
        
        /*
         * Flex 툴에서는 main.xml처럼 TabHost를 정의하면
         * viewStack을 자동으로 생성및 관리까지 해주지만
         * 안드로이드에서는 이와 달리, 아무리 xml을 정의 한다 하더라도 
         * 아래 처럼 소스를 추가 해줘야 되는 같음.(약간 불편함)
         *  
         *  1. 스페이스 생성 후 텍스트 생성(newTabSpec())
         *  2. 탭에 텍스트 설정(setIndicator())
         *  3. 내용 설정(setContent())
         *  4. 마지막으로 새로운 스페이스(탭)을 tabHost에 추가(addTab()) 
  		*/
       
        tabHost.addTab(tabHost.newTabSpec("tab1")
                .setIndicator("tab1", getResources().getDrawable(R.drawable.star_big_on))                
                .setContent(R.id.view1));
        		
        tabHost.addTab(tabHost.newTabSpec("tab2")
                .setIndicator("tab2")
                .setContent(R.id.view2));
        
        tabHost.addTab(tabHost.newTabSpec("tab3")
                .setIndicator("tab3")
                .setContent(R.id.view3));
       
        tabHost.setCurrentTab(1);
       
       
    }
}
Posted by ddandongne

티스토리 툴바