TabHost
を含むサンプルアプリケーションを開発していますHorizontalScrollView
。これが私の問題です:
- 10個を超えるタブがありますが、いずれかのタブをクリックすると、重力が中心に設定されますか?どうすればこの問題を克服できますか。
前もって感謝します!!!
TabHost
を含むサンプルアプリケーションを開発していますHorizontalScrollView
。これが私の問題です:
前もって感謝します!!!
これにはいくつかの計算が含まれます。
基本的に、要素を中央に配置する位置までスクロールする必要があります。
int scrollX = (button.getLeft() - (screenWidth/2))+(button.getWidth()/2);
hScrollView.scrollTo(scrollX,0);
どこ
button -> It is the button you are trying to center.
screenWidth -> Width of the screen.
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
hScrollView -> It is the horizontal scrollview.
ただし、この方法を使用しても、scrollviewsはその境界を超えてスクロールしないため、終了要素を中央に配置することはできません。
public void onTabChanged(String tabId) {
for (int i = 0; i < tablist.length; i++) {
if (tabId.contentEquals(tablist[i])) {
HorizontalScrollView scroll = (HorizontalScrollView)findViewById(R.id.horScrollView);
scroll.smoothScrollTo(((int)(getResources().getDimensionPixelSize(R.dimen.tab_width) * (i))), 0);
}
}
私が使用したもの:OnTabChangeListenerを実装します。