我正在尝试确定是否必须滚动(以及滚动多少)我的标签以显示其他人,如果它们不完整。为了实现这一点,我需要知道我的 TabHost(在 HorizontalScrollView 内)有多少在屏幕之外(以像素为单位)。
直到现在我已经尝试过
int totalLength = 0, totalLength1 = 0;
for(int i =0; i<mTabHost.getChildCount(); i++){
try {
totalLength += mTabHost.getChildAt(i).getWidth();
totalLength1+= mTabHost.getChildAt(i).getLayoutParams().width;
} catch (Exception e) {
toast("ERROR: "+i);
e.printStackTrace();
}
}
但它返回的宽度与屏幕宽度一样多,而不是一个像素。
mScrollView.getWidth()
超过它时也会返回我的屏幕宽度。
mScrollView.getMeasureWidth()
也不行。
我做了一些研究,但到目前为止,我发现的只是一个叫做mScrollview.getMaxSCrollAmmout()
; 但我很难弄清楚它是如何工作的
编辑: mScrollview.getMaxSCrollAmmout()
也没有用。
编辑 2:看起来该操作与 ViewPagerIndicator 所做的非常相似,如果有人熟悉源代码可能会向我解释:D