首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选项卡主机滚动并使用HorizontalScrollview置于中心位置

选项卡主机滚动并使用HorizontalScrollview置于中心位置
EN

Stack Overflow用户
提问于 2012-05-19 13:50:25
回答 1查看 1.3K关注 0票数 1

我有6个选项卡,当我点击任何一个选项卡时,它应该将重力设置为中心。我怎么才能做到这一点?

这就是代码,但它没有任何效果。请帮帮我..

代码语言:javascript
复制
    Calendar c = Calendar.getInstance(); 
    int day = c.get(Calendar.DAY_OF_WEEK);

    try{

    int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
    int scrollX = (th.getTabWidget().getChildAt(day-2).getLeft() - (screenWidth/2))
                   +(th.getTabWidget().getChildAt(day-2).getWidth()/2);
    hsv.scrollTo(scrollX,0);

    //hsv is horizontalScrollView from the xml file
    //th is the tabhost
    th.setCurrentTab(day-2);
    }catch(Exception e){
        th.setCurrentTab(2);
    }

请告诉我可能出了什么问题。

EN

回答 1

Stack Overflow用户

发布于 2012-08-12 05:22:09

尝尝这个。它起作用了

代码语言:javascript
复制
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);
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10662685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档