Tabhost最初启动时如何使当前选项卡居中

时间:2013-12-10 11:11:24

标签: android android-tabhost

我使用标签主机和以下代码将所选标签居中:

public void centerTabItem(int position) {
        final TabWidget tabWidget = mTabHost.getTabWidget();
        final int leftX = tabWidget.getChildAt(position).getLeft();
        int newX = 0;

        newX = leftX + (tabWidget.getChildAt(position).getWidth() / 2) - (mScreenSize.x / 2);
        if (newX < 0) {
            newX = 0;
        }

这非常有效,但问题是当tabhost第一次启动时不起作用。 意思是说我有10个标签,我想用第5个标签启动tabhost。 所以我添加标签,然后执行

mTabHost.setCurrentTab(dummyIndexSelected);
        centerTabItem(dummyIndexSelected);

第5个标签显示为已选中但不在中间。

更新:更好的解释: 我正在使用带有片段的tabhost。问题是,假设有20个选项卡,屏幕上只显示5个选项卡。现在,如果当前选项卡为16,则该选项卡的片段将可见,但当前选项卡选择将不可见,因为它将位于屏幕外部。所以我想在屏幕上显示当前标签。

有人可以帮忙吗?

感谢。

0 个答案:

没有答案