Android – отключить прокрутку по горизонталиScrollView

Как я могу отключить overcroll на HorizontalScrollView под Android 2.2?

редактировать

Я использую для этого размышление:

HorizontalScrollView hh = (HorizontalScrollView) findViewById(R.id.chartHorizontalView); viewCls = hh.getClass(); try { Method m = viewCls.getMethod("setOverScrollMode", new Class[] { int.class }); int OVER_SCROLL_NEVER = (Integer) viewCls.getField( "OVER_SCROLL_NEVER").get(hh); m.invoke(hh, OVER_SCROLL_NEVER); } catch (Exception e) { e.printStackTrace(); } 

Это правильно в документах, вызовите setOverScrollMode

На складе AOSP не было эффекта сбрасывания до Gingerbread , поэтому вопрос о том, как отключить их, не имеет смысла. Некоторые производители добавили свои собственные эффекты сверхсброса, такие как эффект отскока TouchWiz. Очевидно, что поскольку эффекты не являются частью SDK, в SDK нет способа отключить их!

На момент написания этой статьи, Froyo и ниже заняли около 2%. На мой взгляд, разумная вещь – нацелить версию sdk> = 9 и использовать что-то вроде

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) { horizontalScrollView.setOverScrollMode(View.OVER_SCROLL_NEVER); } 

Таким образом, большинство пользователей не будут видеть эффект прокрутки свечения, но те 2% или менее пользователи, которые запускают Froyo с TouchWiz, по-прежнему будут видеть эффект отскока. Если вы действительно, абсолютно необходимо отключить все эффекты overscroll, которые вы могли бы использовать onScrollListener, чтобы предотвратить прокрутку в начале или конце или использовать отражение, чтобы иметь дело с TouchWiz, точно подобным этому примеру, или этот

Intereting Posts
Как использовать mkdirs в потоковом безопасном режиме в Java? Windows – менеджер Android SDK не перечисляет какие-либо платформы или пакеты для установки Фрагмент onResume () не вызывается при использовании FragmentPagerAdapter Разница между Audiomanager и MediaPlayer Как проверить подключение к Интернету в Android? Как определить, является ли один из моих действий на переднем плане Как решить эту проблему «Содержимое адаптера изменилось, но ListView не получил уведомление»? Как узнать в BroadcastReceiver, если приложение работает на переднем плане? Android-библиотека Declare-Styleable Runtime Error Как настроить пользовательское хранилище ключей для отладки в eclipse для Android Аккаунт-аутентификатор потерян при перемещении приложения на SD-карту Самый простой способ правильно повернуть MapView в Android? Пользовательский флажок Кодирование и мультиплексирование видео с использованием MediaCodec и MediaMuxer Уменьшение размера шрифта компонентов AlertDialog.Builder