2012-04-27 46 views
3

在Eclipse的我的XML編輯器中,我看到了tabhost,它看起來完全是我想要的,但是當我運行它時,我根本沒有看到tabHost,我怎麼確定它是可見的?Android tabHost是不可見的?爲什麼不用這個XML顯示?

這是我的XML。編輯再一次展示了它,但是當我運行它時,它並沒有這樣做,膨脹它的活動還沒有做太多的事情,只是改變兩個文本框。有任何想法嗎?

<?xml version="1.0" encoding="utf-8"?> 
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:columnCount="2" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/name" 
     android:layout_width="238dp" 
     android:layout_column="0" 
     android:layout_columnSpan="2" 
     android:layout_gravity="top|left" 
     android:layout_marginTop="7dp" 
     android:layout_marginLeft="3dp" 
     android:layout_row="0" 
     android:gravity="top" 
     android:maxLines="1" 
     android:padding="3dp" 
     android:text="Motherfucking Acer Laptop X314134" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 

    <View 
     android:layout_height="2dp" 
     android:layout_width="fill_parent" 
     android:layout_row="1" 
     android:layout_column="0" 
     android:layout_columnSpan="2" 
     android:background="#FF000000" 
     /> 

    <TabHost 
     android:id="@android:id/tabhost" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_column="0" 
     android:layout_columnSpan="2" 
     android:layout_gravity="center_horizontal" 
     android:layout_row="2" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

      <TabWidget 
       android:id="@android:id/tabs" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" > 
      </TabWidget> 

      <FrameLayout 
       android:id="@android:id/tabcontent" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" > 

       <LinearLayout 
        android:id="@+id/Info" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/Specs" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/Fotos" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 

       <LinearLayout 
        android:id="@+id/Prijzen" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" > 
       </LinearLayout> 
      </FrameLayout> 
     </LinearLayout> 
    </TabHost> 

    <TextView 
     android:id="@+id/score" 
     android:layout_column="1" 
     android:layout_marginRight="3dp" 
     android:layout_marginTop="4dp" 
     android:layout_gravity="right" 
     android:layout_row="0" 
     android:gravity="center_vertical" 
     android:padding="3dp" 
     android:text="100%" 
     android:textSize="24sp" /> 

    <Space 
     android:id="@+id/space2" 
     android:layout_width="1dp" 
     android:layout_height="40dp" 
     android:layout_column="0" 
     android:layout_gravity="left" 
     android:layout_row="0" /> 

    <Space 
     android:id="@+id/space1" 
     android:layout_width="1dp" 
     android:layout_height="415dp" 
     android:layout_column="0" 
     android:layout_gravity="left" 
     android:layout_row="2" /> 

</GridLayout> 
+0

如何膨脹佈局? – 2012-04-27 09:18:14

+0

public void onCreate(Bundle savedInstanceState){ \t \t super.onCreate(savedInstanceState); setContentView(R.layout.product); – Gido 2012-04-27 09:51:46

回答

7

你必須這樣做編程,例如:

tabhost = (TabHost) findViewById(android.R.id.tabhost); 
    tabhost.setup(); 
    TabSpec ts = tabhost.newTabSpec("tag1"); 
    ts.setContent(R.id.tab1); 
    ts.setIndicator("First Tab"); 
    tabhost.addTab(ts); 

    ts = tabhost.newTabSpec("tag2"); 
    ts.setContent(R.id.tab2); 
    ts.setIndicator("Second Tab"); 
    tabhost.addTab(ts); 
    ts= tabhost.newTabSpec("tag3"); 
    ts.setContent(R.id.tab3); 
    ts.setIndicator("Third Tab"); 
    tabhost.addTab(ts); 
+0

不錯!但是'tag1','tag2'和'tag3'是什麼意思? – 2014-08-25 18:40:42

+0

@AdilMalik嗨! Android開發文檔對它們有點模糊,但它們應該是用於跟蹤製表符的標籤。 – Ant4res 2014-11-04 11:04:32

-2

對於更詳細一點,這個頁面:

http://mobileorchard.com/android-app-development-tabbed-activities/

有可以禁止複製一個很好的例子粘貼,它們在XML中設置選項卡並使用Java擴充它們,所有這些都是通過一個Java活動進行的。 (雖然你會希望將其xml文件的「px」單位更改爲「dp」,以使其在所有手機上看起來都不錯)。