2

tabHost を使用してアプリケーションに 4 つのタブを作成しましたが、正常に動作しています。以下に、2 つのタブのみを追加するコードを示します。

           public class Home_tab extends TabActivity {


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home_main);

    Resources ressources = getResources(); 
    TabHost tabHost = getTabHost(); 

    // Android tab

    Intent intentAndroid = new Intent().setClass(this, CoalActivity.class);
    TabSpec tabSpecAndroid = tabHost


      .newTabSpec("Android")

      .setIndicator("", ressources.getDrawable(R.drawable.tab_dis))
      .setContent(intentAndroid);

    // Apple tab
    Intent intentApple = new Intent().setClass(this, EnergyActivity.class);
    TabSpec tabSpecApple = tabHost
      .newTabSpec("Apple")

      .setIndicator("", ressources.getDrawable(R.drawable.tab_foc))
      .setContent(intentApple);


    // add all tabs 
    tabHost.addTab(tabSpecAndroid);
    tabHost.addTab(tabSpecApple);

                }
              }

これは私のxmlファイルです

       <?xml version="1.0" encoding="utf-8"?>
      <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@android:id/tabhost"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:background="@drawable/background"
         android:scrollbarAlwaysDrawHorizontalTrack="true"
        >
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5dp">
    <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:padding="5dp" />
  </LinearLayout>
  </TabHost>

しかし、私の問題は、タブを追加すると、同じウィンドウに表示されることです。たとえば、現在 4 つのタブを追加しましたが、さらに 3 つのタブを追加しようとすると、すべてのタブが同じウィンドウに表示されますか? 同じウィンドウに 4 つのタブだけを追加したいのですが、他のタブはタブ バーをスクロールしたときにのみ表示されるようにする必要があります。これを解決するにはどうすればよいですか??

4

1 に答える 1