Автоматическая прокрутка вкладки-хозяина с помощью функции горизонтального прокрутки – программно

Я разрабатываю пример приложения с TabHost , который содержит HorizontalScrollView . Вот моя проблема:

  • У меня есть более 10 вкладок, когда я нажимаю на любую вкладку, чтобы установить гравитацию как центр? Как я могу решить эту проблему.

Заранее спасибо!!!

Это потребует некоторых расчетов.

В основном вам необходимо прокрутить до положения, чтобы центрировать элемент.

 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.

Intereting Posts
Как распространять обновления для пользователей предустановленного платного Android-приложения? Android Cookies (вознаграждение за приглашение) React Native <Изображение> не загружает изображение из sdcard в android UnityWebRequest Вложение данных пользователя + пароль для базовой проверки подлинности HTTP, не работающей на Android Есть ли проблема с ошибкой Android «Невозможно разрешить виртуальный метод java / beans / PropertyDescriptor»? Фрагмент placehoder в макете Захват уведомлений из других приложений Android – в чем смысл StableID? Fragment newInstance зачем использовать аргументы? VM с версией 1.6.0 не поддерживает multidex: не удается найти приложение Mono.Android.Platform.ApiLevel_23 или Xamarin.Android.Platform Разработка Android в Windows или Linux? Нет сверстников. Не уверен, какой маршрут принять Является ли это допустимым SQLite-запросом Почему 0dp считается улучшением производительности? Доступ к сети, когда телефон Android спит