7

私はAndroidが初めてで、私のプロジェクトには要件があります

つまり、6 つのタブがありますが、画面には 3 つのタブしか表示されず、残りのタブでは 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

タブホストにそのような動作があるとは思いません。私が知っているように、タブホストはタブコントローラーなしで動作します。あなたの場合、ギャラリーはタブコントローラーを置き換えます。ご存知のように、ギャラリーで選択されたアイテムは常に真ん中にあります。次に、ギャラリーのイベント リスナーで、どのタブをタブホストに表示するかを制御するコードを記述します。

于 2011-12-20T09:05:41.990 に答える