티스토리 툴바


분류없음2011/02/13 02:25

아카데미 정글에서 접수하면 된답니다.

http://ejungle.co.kr/workshop/wks_overview.asp?p_no=2942

aa.jpg

Sencha Touch를 활용한 앱스타일! 모바일 web+app from Jungle Communications Co.,Ltd. on Vimeo.


sencha_touch_webapp_curriculum_2011_01_26.png

Posted by ddandongne
package com.ddan.test.view.tab.step9;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.TabHost.TabSpec;

/*
 * 동적으로 탭 추가하기.
 */
public class View_Tab5_Step9 extends Activity
{
	public int count;
	public TabHost tabHost;
    
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
    	  super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          
          /*
           *Main에 생성한 TabHost를 사용함.
           *  
           */         
          count		=1; 
          tabHost 	= (TabHost)findViewById(R.id.tabhost);   
          tabHost.setup(); 
          // TabActivity를 사용하지 않는 경우 탭추가전 setup() 메소드를 호출해야됨.
          
          TabSpec tabSpec =tabHost.newTabSpec("tab1")
          .setIndicator("tab1")                
          .setContent(R.id.view1);
          tabHost.addTab(tabSpec); 
       
         
          // 추가 처리.
          Button btn_Add = (Button)findViewById(R.id.btn_Add);
          btn_Add.setOnClickListener(new OnClickListener() 
          {			 
			public void onClick(View v) 
			{
				count++;
				addTab();				
			}
		});
          
        Button btn_Del = (Button)findViewById(R.id.btn_Del);
        btn_Del.setOnClickListener(new OnClickListener() 
        {
			public void onClick(View v) 
			{
				//count--;
				//removeTab();
				Toast.makeText(View_Tab5_Step9.this, "제거는 미구현", 100).show();
			}
		});
         
    }
    
    public void addTab()
    {
        // 다른 형태의 탭 추가 하기.
        TabHost.TabSpec spec = tabHost.newTabSpec("tab"+count);
        spec.setIndicator("tab"+count);
        spec.setContent(new TabHost.TabContentFactory() 
        {			
			@Override
			public View createTabContent(String tag) 
			{
				// TODO Auto-generated method stub
				final TextView tv = new TextView(View_Tab5_Step9.this);
		        tv.setText("팩토리 객체에 의해서__" + tag);
		        return tv;
			}
		});
        tabHost.addTab(spec);
    }    
    
    public void removeTab()
    {
    	//tabHost.getTabWidget().removeViewAt(0);
    	//tabHost.getTabContentView().removeViewAt(0);
    	//tabHost.refreshDrawableState();
    }
}
Posted by ddandongne
package com.ddan.test.view.tab4_step8;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TabHost;

/*
 * 
 * 예제 설명
 * 		- TabContent에 일반 View가 아닌 Activity를 사용.
 * 		- 주의 : 사용하려는 Activity는 AndroidManifes.xml에 등록되어 있어야 됨.
 * 
 * 탭에서 사용되는 클래스들
 * 	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_Tab4_Step8 extends TabActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // tabhost구하기.
        final TabHost tabHost = getTabHost();

        tabHost.addTab(tabHost.newTabSpec("tab1")
                .setIndicator("tab1")
                .setContent(new Intent(this,Tab1.class)));
        	

        tabHost.addTab(tabHost.newTabSpec("tab2")
                .setIndicator("tab2")
                .setContent(new Intent(this, Tab2.class)
                       ));
               
    }
}
							
Posted by ddandongne