任何人都知道Facebook是如何做到的:



alt text



据我所知,我们无法更改Tabhost的高度。我猜他们在Tabhost上放置了“ Frank Cho”的观点,以使其看起来更短,但我可能错了。有人知道发生了什么事吗?

有帮助吗?

解决方案

实际上,您可以拥有自定义的标签小部件。您需要将选项卡指示灯设置为一些自定义布局(带有可抽知物),您应该很好。

这是一个半例子:

final TabHost host = getTabHost();

final TextView indicator = (TextView) getLayoutInflater().inflate(
                            R.layout.tab_indicator,
                            getTabWidget(), false);
indicator.setText("Tab title");

host.addTab(host.newTabSpec("The tab tag")
            .setIndicator(indicator)
            .setContent([put your content here]));
}

tab_indicator布局看起来像这样的地方:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tab_label"
    android:layout_width="0dip"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:gravity="center"
    android:textSize="14sp"
    android:textStyle="bold"
    android:minHeight="38dp"
    android:background="@drawable/minitab" />

Minitab绘制可绘制的项目选择器(因此,您需要为选定,默认,按下和未选择的图像具有图像)。 Facebook应用程序为默认选项卡使用了一些白色可绘制图像,并为未选择的选项卡绘制了蓝色渐变。

查看Google IO计划应用程序的完整示例: http://code.google.com/p/iosched/ (特别是TrackDetailActivity.java)

其他提示

有人认为我认为正确的答案,但出于某种原因将其删除...

问题的高度不是 TabHost, ,但是 TabWidget.

尝试使用版本 setIndicator() 那需要 View 而不仅仅是 String 或者 String 加上可绘制的资源。虽然我还没有玩过这个问题,但我的理解是它可以很好地解决这个问题。

不过,要小心,您不要结束太难敲击的标签。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top