タブが不完全な場合に他のタブを表示するために、タブをスクロールする必要があるかどうか (およびどれだけスクロールする必要があるか) を判断しようとしています。これを達成するには、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();
}
}
ただし、1 ピクセル以上ではなく、画面の幅と同じくらい返されます。
mScrollView.getWidth()
それを超えると、画面の幅も返します。
mScrollView.getMeasureWidth()
どちらも機能しません。
私はいくつかの調査を行いましたが、これまでのところ、私が見つけたのはmScrollview.getMaxSCrollAmmout()
;と呼ばれるものだけです。しかし、それがどのように機能するかを理解するのに苦労しました
編集: mScrollview.getMaxSCrollAmmout()
どちらも機能しませんでした。
編集 2:アクションは ViewPagerIndicator が行うこととかなり似ているようです。誰かがソース コードに精通している場合は、私に文句を言うことができます:D