2012-03-23 109 views
1

我已經搜索了很長一段時間現在...我正在寫一個應該在Android 2.2和Android 4.0之間兼容的應用程序。 由於在Android 4.0標籤已棄用,我想知道什麼是正確的方式來做到這一點?如果我仍然在測試中使用Tabs,它們看起來相當不錯(大小相同,沒有圖標......),但是如果我在2.2版本上運行它們,它們都會一起壓縮(只是每個選項卡的標題大小,可能與我使用Horizo​​ntalScrollView有關?) 這裏的正確決定是什麼? 只需使用Android 2.2和4.0的選項卡?如果是的話,我怎樣才能將2.2上的Tabs設置爲相同的大小? 在4.0上使用片段和在2.2上使用Tabs?如果是的話,我會如何執行這個? 如果我應該使用Tabs,我應該只使用4個Tabs(我有2到10之間 - 動態地)並放置一個額外的「More」選項卡?如果是的話,我會怎麼做?TabHost和Android 4.0 ICS

我希望這個問題是可以理解的。如果不能隨時索取更多信息。

回答

7

你可以檢查出ActionBarSherlock - 它提供了很好的新的ICS標籤爲Android 2.1+和有完善的樣本。

+0

很久以前想試試這個......我會試試看非常感謝你! – user754730 2012-03-23 10:24:53

+1

不客氣。這是一個很棒的工具來創建兼容的應用程序:) – Tim 2012-03-23 10:25:43

+0

哇,它真的是...剛剛從Play商店安裝了演示應用程序...真的是太棒了!再次感謝我現在認爲我現在將使用ActionBarSherlock的應用程序! – user754730 2012-03-23 10:32:23

0

試試這個代碼

public class WebMenu extends TabActivity { 
    //Intent intent; 

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

     Resources res = getResources(); 
     TabHost tabHost = getTabHost(); 
     TabHost.TabSpec spec; 

     Intent intent = new Intent().setClass(this, Add_webpage.class); 
     spec = tabHost 
       .newTabSpec("Add new Web Page") 
       .setIndicator("New", 
         res.getDrawable(R.drawable.folder_web_blue)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, WebHistory.class); 
     spec = tabHost.newTabSpec("Web History") 
       .setIndicator("History", res.getDrawable(R.drawable.webhistory)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     intent = new Intent().setClass(this, WebList.class); 
     spec = tabHost.newTabSpec("Web List") 
       .setIndicator("List", res.getDrawable(R.drawable.weblist)) 
       .setContent(intent); 
     tabHost.addTab(spec); 

     tabHost.setCurrentTab(2); 
    } 
} 
+0

謝謝! 但我不認爲你是以正確的方式理解它的。我已經寫好了我的代碼。我有我的標籤等我想知道哪個是正確的方式? – user754730 2012-03-23 10:19:28

相關問題