У меня есть HorizontalScrollView с длинным представлением в качестве дочернего элемента, поэтому HorizontalScrollView прокручивается и может прокручивать его дочерний по горизонтали. Есть ли возможность заблокировать это? Я не хочу, чтобы пользователь мог прокручивать представление.Android HorizontalScrollView отключить прокрутку
ответ
Хорошо, я нашел способ, как реализовать это.
Просто нужно создать свой собственный HorizontalScrollView и переопределить onTouchEvent методу
public class MyHSV extends HorizontalScrollView {
public MyHSV(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}
public MyHSV(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public MyHSV(Context context) {
super(context);
init(context);
}
void init(Context context) {
// remove the fading as the HSV looks better without it
setHorizontalFadingEdgeEnabled(false);
setVerticalFadingEdgeEnabled(false);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
// Do not allow touch events.
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// Do not allow touch events.
return false;
}
}
А затем в файле XML
<pathToClass.MyHSV xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:scrollbars="none"
android:id="@+id/myHSV>
</pathToClass.MyHSV>
Мое предложение заключается в использовании OnTouchListener, например:
В onCreate
Метод
HorziontalScrollView scrollView= (HorizontalScrollView)findViewById(R.id.scrollView);
scrollView.setOnTouchListener(new OnTouch());
И имеет класс:
private class OnTouch implements OnTouchListener
{
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
}
Это сработало для меня, спасибо! – jonassvensson
Он отключает события касания, щелчок не работает. – user3304007
Это спасло мой день! Фактически, я потратил час на то, как отключить небольшую прокрутку в TabLayout. Но я совсем забыл, что это своего рода scrollview! Это работает и в моем случае. –
- 1. Повторить прокрутку для HorizontalScrollView
- 2. Android отключить прокрутку анимации
- 3. jQTouch отключить прокрутку, включить прокрутку, отключить прокрутку
- 4. Android: Как отключить прокрутку CalendarView
- 5. Отключить прокрутку Android ListFragment временно?
- 6. Отключить прокрутку в фрагментеPagerAdapter? - android
- 7. Android: Как отключить вертикальную прокрутку ScrollView при прокрутке горизонтального экрана?
- 8. HorizontalScrollView не дает точную прокрутку X в android
- 9. Отключить горизонтальную прокрутку javascript
- 10. Отключить прокрутку содержимого
- 11. Отключить прокрутку PreferenceScreen
- 12. отключить передвижную прокрутку css
- 13. Отключить прокрутку и переключение Android RecylerView
- 14. Как отключить прокрутку для ListView на Android?
- 15. Listview Отключить прокрутку письма в android
- 16. Mapbox Android отключить прокрутку и панорамирование карты
- 17. Android EditText отключить редактирование, но разрешить прокрутку
- 18. Android WebView: Отключить прокрутку Желтый граничный градиент
- 19. Android - FragmentStatePagerAdapter: триггер салфетки вручную/отключить прокрутку
- 20. Отключить прокрутку вниз от ListView - Android
- 21. android: Как отключить прокрутку на viewpager
- 22. GridViewPager: Отключить горизонтальную/верительную прокрутку? (Android Wear)
- 23. Невозможно отключить прокрутку в браузере Android
- 24. Android показать все строки GridView [отключить прокрутку]
- 25. Как отключить прокрутку GridView в Android?
- 26. Как отключить горизонтальную прокрутку в android
- 27. Отключить прокрутку в Chrome
- 28. Отключить прокрутку в веб-просмотре?
- 29. Android: как слушать прокрутку событий?
- 30. Android HorizontalScrollView get width
Вид прокрутки для прокрутки! Если вы не хотите прокрутки пользователя, выберите другой способ, кроме использования scrollView. Вместо этого вы можете использовать анимацию. –