Android ICS显示错误选项卡

时间:2012-01-05 19:25:40

标签: android tabs android-4.0-ice-cream-sandwich tabactivity

我有一个使用TabActivity的应用程序,但它在ICS上呈现错误。对ActionBar或Fragments并不感兴趣,因为标签仍然适用于我和其他应用程序。

以下是所有其他版本的android(所需外观)的样子 http://i44.tinypic.com/fb9jya.png

这就是它在ICS上的样子,不正确。

http://i44.tinypic.com/35btjl2.png

这是我的tabactivity选项卡代码,需要更改什么?

    intent = new Intent().setClass(this, HomeMenuGroup.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("homeMenuGroup").setIndicator(li.inflate(R.layout.main_tabs_home, tabHost.getTabContentView(), false))
            .setContent(intent);
    tabHost.addTab(spec);

    // Do the same for the other tabs
    intent = new Intent().setClass(this, BuyTicketsGroup.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("buyTicketsGroup").setIndicator(li.inflate(R.layout.main_tabs_buy, tabHost.getTabContentView(), false))
            .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, UseTicketsGroup.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("useTicketsGroup").setIndicator(li.inflate(R.layout.main_tabs_use, tabHost.getTabContentView(), false))
            .setContent(intent);
    tabHost.addTab(spec);

    intent = new Intent().setClass(this, MyAccountGroup.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    spec = tabHost.newTabSpec("myAccountGroup").setIndicator(li.inflate(R.layout.main_tabs_account, tabHost.getTabContentView(), false))
            .setContent(intent);
    tabHost.addTab(spec);

这是我的标签按钮布局xml R.layout.main_tabs_account

之一
 <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView android:background="@drawable/switcher_account"
      android:layout_width="80dip"
      android:layout_height="60dip"/>
 </LinearLayout>

1 个答案:

答案 0 :(得分:2)

很难给出明确的答案。例如,您引用的R.layout.main_tabs_account布局不包含ImageView,屏幕截图显示,表示您的问题中的某些内容不同步。

话虽如此,这就是我想要的:

  • 将尺寸从TextView移至LinearLayout。你的文字不应该是80x60 dip;你的标签大概是。

  • 考虑发布包含TabHostTabWidget的布局,因为这可能会提供更多线索。

  • 查看this project,我在哪里使用自定义标签,看看我接触它的方式是否有帮助。这个项目在Android 4.0上运行良好。