2
是否有可能更改Android標籤,如果你按一個,它來到TabHost的中心。只有3個標籤可見,無所謂。就像在Android 4.0谷歌音樂應用程序! 如果是這樣,你會怎麼做?Android TabHost中心活動標籤
謝謝!
是否有可能更改Android標籤,如果你按一個,它來到TabHost的中心。只有3個標籤可見,無所謂。就像在Android 4.0谷歌音樂應用程序! 如果是這樣,你會怎麼做?Android TabHost中心活動標籤
謝謝!
我自己也找到了答案。
如果別人需要它,這應該這樣做:
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);
}
});
感謝一噸buddy.u救了我的一天:) – Nevaeh 2015-04-01 04:45:14
高興它爲你工作:) – user754730 2015-04-01 07:51:57