2010-06-24 2 views
1

В соответствии с документами разработчика разработчика для creating tab UI вам нужно иметь TabHost и TabWidget, а TabHost должен быть корневым узлом макета.Создание пользовательского интерфейса с вкладками без использования макета

Все идеально, я попробовал пример, и все в порядке.

Просто глядя на API Образцы вкладок, я наткнулся на tabs1.java (http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/Tabs1.html), который не использовал никаких элементов табуляции в макете.

Вот пример рабочего кода, который создает вкладку, без какого-либо макета.

public class HelloAndroid extends TabActivity implements TabHost.TabContentFactory { 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    TabHost tabHost = getTabHost(); 
    tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1").setContent(this)); 
    } 

    public View createTabContent(String tag) { 
    TextView text = new TextView(this); 
    text.setText("tab1"); 
    return text; 
    } 
} 

Может ли кто-нибудь объяснить, как это работает? И как это отличается от использования подхода на основе макета, как объяснено в учебнике.

Спасибо.

ответ

Смежные вопросы