1

6 つのタブがあり、いずれかのタブをクリックすると、重力が中心に設定されます。これどうやってするの..?

これはコードですが、効果がありません..助けてください..

    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);
    }

何がうまくいかないのか教えてください..

4

1 に答える 1

2

これを試して。できます

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-11T21:22:09.260 に答える