У меня есть 6 вкладок, когда я нажимаю на любую вкладку, она должна установить гравитацию как центр. Как я могу это сделать..?
Это код, но он не имеет никакого эффекта. Пожалуйста, помогите..
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_WEEK);
try{
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
int scrollX = (th.getTabWidget().getChildAt(day-2).getLeft() - (screenWidth/2))
+(th.getTabWidget().getChildAt(day-2).getWidth()/2);
hsv.scrollTo(scrollX,0);
//hsv is horizontalScrollView from the xml file
//th is the tabhost
th.setCurrentTab(day-2);
}catch(Exception e){
th.setCurrentTab(2);
}
Пожалуйста, скажите мне, что может произойти неправильно.
Попробуй это. Оно работает
public void centerTabItem(int position) {
tabHost.setCurrentTab(position);
final TabWidget tabWidget = tabHost.getTabWidget();
final int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
final int leftX = tabWidget.getChildAt(position).getLeft();
int newX = 0;
newX = leftX + (tabWidget.getChildAt(position).getWidth() / 2) - (screenWidth / 2);
if (newX < 0) {
newX = 0;
}
horizontalScrollView.scrollTo(newX, 0);
}