1

タブ UI を作成するための Android 開発者ドキュメントに従って、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;
  }
}

これがどのように機能しているのか、誰でも説明できますか? チュートリアルで説明されているように、これがレイアウトベースのアプローチを使用する場合とどのように異なるか。

ありがとう。

4

1 に答える 1

0

これは、TabActivity がプログラムによって TabHost レイアウトを作成するためです。

http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/app/TabActivity.java&q=TabActivity&sa=N&cd=1&ct=rcを確認できます

于 2010-06-25T12:50:03.873 に答える