如何设置所选选项卡必须位于中间

Gop*_*opi 7 android scrollview horizontalscrollview tabwidget android-tabhost

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

即我有六个选项卡,但我只在屏幕上显示三个选项卡,其余选项卡我使用ScrollView.Here选中标签项必须在中间,首先当我进入屏幕我显示中间项目是活动的(即选中).

那很好但是当我滚动剩下的标签时,我怎么能把这个中间项目设置为中间?

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

Alo*_*rni 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);
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*Guo 0

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