2012-02-24 43 views
0

我遵循官方的HelloTabWidget Android教程,它完美地工作。接下來,我刪除了標籤圖標,它仍然完美。現在我想在每個選項卡中橫向和縱向放置tabtext,但我無能爲力。我試過搜索但找不到解決方案。Android上的定位標籤名稱

我試過在我的main.xml文件中加入 android:layout_gravity但它沒有幫助。

這是我的onCreate main.java文件:

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

    TabHost tabHost = getTabHost(); // The activity TabHost 
    TabHost.TabSpec spec; // Resusable TabSpec for each tab 
    Intent intent; // Reusable Intent for each tab 

    intent = new Intent().setClass(this, Indkobsliste.class); 
    spec = tabHost.newTabSpec("tab1").setIndicator("Tab1") 
       .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Opskrifter.class); 
    spec = tabHost.newTabSpec("tab2").setIndicator("Tab2") 
       .setContent(intent); 
    tabHost.addTab(spec); 

    intent = new Intent().setClass(this, Madplan.class); 
    spec = tabHost.newTabSpec("tab3").setIndicator("Tab3") 
         .setContent(intent); 
    tabHost.addTab(spec); 

    tabHost.setCurrentTab(1); 
} 

這是main.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="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="5dp"> 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:padding="5dp"/> 
    </LinearLayout> 
</TabHost> 

這是我的標籤現在怎麼看: My tabs

回答

1

如果您正在運行Android API級別> = 4,則可以使用TabHost.TabSpec.setIndicator(View view)。這允許你指定任何視圖,所以只需要在vertically center your text的地方提供一個視圖。

但是,如果您運行的API級別較低,請嘗試使用this other stackoverflow question中的答案。它建議使用反射來設置視圖,即使API不發佈所需的setIndicator方法。

+1

謝謝一堆。 .setIndicator沒有抱怨我使用int,所以我在Stackoverflow上進行了搜索,我看到了這個:[link](http://stackoverflow.com/a/2177045/794806) – Simon 2012-02-25 02:01:10

+0

啊,偉大的附錄!謝謝! – 2012-02-25 06:47:42