7

我是 Android 新手,在我的项目中我有要求

即我有六个选项卡,但我在屏幕上只显示三个选项卡,其余选项卡我使用 ScrollView。这里选定的选项卡项必须在中间,首先当我进入屏幕时,我显示中间项处于活动状态(即选中)。

很好,但是当我滚动剩余的选项卡时,如何将这个中间项设置为中间项?

任何人都可以提出解决方案的建议。

4

2 回答 2

7

看看这个:)

public void centerTabItem(int position) {
    tabHost.setCurrentTab(position);
    final TabWidget tabWidget = tabHost.getTabWidget();
    final int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
    final int leftX = tabWidget.getChildAt(position).getLeft();
    int newX = 0;

    newX = leftX + (tabWidget.getChildAt(position).getWidth() / 2) - (screenWidth / 2);
    if (newX < 0) {
        newX = 0;
    }
    horizontalScrollView.scrollTo(newX, 0);
}
于 2012-08-11T20:55:34.343 回答
0

我不认为tabhost有这样的行为。据我所知,tabhost 可以在没有标签控制器的情况下工作。对于您的情况,图库将替换选项卡控制器,如您所知,图库中的选定项目始终位于中间。然后在画廊的事件监听器中,编写一些代码来控制哪个选项卡将显示在 tabhost 中。

于 2011-12-20T09:05:41.990 回答