且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

TabHost标签使用ViewPager刷卡时不水平滚动

更新时间:2023-11-18 14:10:22

由于这个post,并 jucas特别,我设法得到它的工作。这里是code:

Thanks to this post, and to jucas in particular, I managed to get it to work. Here is the code:

@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
    View tabView = mTabHost.getTabWidget().getChildAt(position);
    if (tabView != null)
    {
        final int width = mHorizontalScroll.getWidth();
        final int scrollPos = tabView.getLeft() - (width - tabView.getWidth()) / 2;
        mHorizontalScroll.scrollTo(scrollPos, 0);
    } else {
        mHorizontalScroll.scrollBy(positionOffsetPixels, 0);
    }
}

当然,我不得不 mHorizo​​ntalScroll 在几个地方进行初始化。 (如果有人不知道如何做到这一点,我会很高兴张贴满code)

Of course I had to get mHorizontalScroll initialized in several places. (If someone isn't sure how to do it, I'll be happy to post the full code.)