Моя текущая реализация
У меня есть HorizontalScrollView
, который я создаю в XML, в котором размещаются несколько дочерних элементов LinearLayout
. Я добавил этот код ниже.
Есть два контейнера LinearLayout
с идентификаторами group_one
и group_two
, которые заполняются программно во время выполнения.
Я также исправляю ширину HorizontalScrollView
во время выполнения в зависимости от количества объектов View
, которые я буду вставлять.
Это решение отлично работает, когда дети помещаются в HorizontalScrollView
без необходимости прокрутки.
Проблема
Как только мне нужно прокрутить (есть больше дочерних элементов, чем может быть отображено в пределах фиксированной ширины HorizontalScrollView
), полоса прокрутки не будет полностью вправо, хотя я вижу, что дочерний макет имеет правильную ширину, и я вижу полоса прокрутки просто не пойдет дальше.
Мой вопрос
Почему существует ограничение на перемещение полосы прокрутки вправо?
Мой код
XML-файл HorizontalScrollView
<!-- THIS IS WHERE THE PLUGIN BUTTONS ARE HOUSED -->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="horizontal"
android:id="@+id/map_plugin_scroll_view"
android:background="@color/map_plugin_background">
<!-- Enclosing box to layout the two groups.-->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="8dp"
android:id="@+id/group_container">
<!-- These layouts contain the map plugins. -->
<LinearLayout
android:id="@+id/group_one"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"/>
<LinearLayout
android:id="@+id/group_two"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"/>
</LinearLayout>
</HorizontalScrollView>
Что происходит
Это изображение правильной прокрутки влево. Край прокрутки начинается справа от красной полосы. Обратите внимание на расстояние между ними.
Это изображение неправильной прокрутки вправо. Сравните расстояния между краями прокрутки и местами, где полоса прокрутки останавливается.
Вот как я хочу, чтобы это выглядело, когда я прокручиваю с обоих концов.