Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android选项卡主机中心活动选项卡_Android_Center_Android 4.0 Ice Cream Sandwich_Android Tabs - Fatal编程技术网

Android选项卡主机中心活动选项卡

Android选项卡主机中心活动选项卡,android,center,android-4.0-ice-cream-sandwich,android-tabs,Android,Center,Android 4.0 Ice Cream Sandwich,Android Tabs,是否有可能改变Android标签,如果你按下一个,它就会出现在标签主机的中心。只有3个选项卡可见,与有多少选项卡无关。就像Android 4.0谷歌音乐应用程序一样! 如果是,你会怎么做 谢谢大家! 我自己也找到了答案。如果有人需要,这个应该可以: final HorizontalScrollView mHorizontalScrollView; float scale = getResources().getDisplayMetrics().density; final

是否有可能改变Android标签,如果你按下一个,它就会出现在标签主机的中心。只有3个选项卡可见,与有多少选项卡无关。就像Android 4.0谷歌音乐应用程序一样! 如果是,你会怎么做


谢谢大家!

我自己也找到了答案。
如果有人需要,这个应该可以:

    final HorizontalScrollView mHorizontalScrollView;
    float scale = getResources().getDisplayMetrics().density;
    final double tabWidth = (int) (150 * scale + 0.5f);

    for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
        tabHost.getTabWidget().getChildTabViewAt(i).getLayoutParams().width = (int) tabWidth;
    }

    final double screenWidth = getWindowManager().getDefaultDisplay()
            .getWidth();
    mHorizontalScrollView = (HorizontalScrollView) findViewById(R.id.hscrollview);

    tabHost.setOnTabChangedListener(new OnTabChangeListener() {

        @Override
        public void onTabChanged(String tabId) {
            int nrOfShownCompleteTabs = ((int) (Math.floor(screenWidth
                    / tabWidth) - 1) / 2) * 2;
            int remainingSpace = (int) ((screenWidth - tabWidth - (tabWidth * nrOfShownCompleteTabs)) / 2);

            int a = (int) (tabHost.getCurrentTab() * tabWidth);
            int b = (int) ((int) (nrOfShownCompleteTabs / 2) * tabWidth);
            int offset = (a - b) - remainingSpace;

            mHorizontalScrollView.scrollTo(offset, 0);
        }
    });
最终水平滚动视图mHorizontalScrollView;
浮动比例=getResources().getDisplayMetrics().density;
最终双制表符宽度=(整数)(150*刻度+0.5f);
对于(int i=0;i