我正在開發一個示例應用程序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不會滾動超越其邊界。
我想你再問一件事? –
假設我有10個選項卡時,如1,2,3,4點擊任何選項卡時,它應該被替換在位置2 .. –
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。
嗨畫廊視圖是實現這一目標的最佳選擇。 – milind
我知道與galleryview,但我想用tabhost .. –