2012-03-23 74 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

相关问题