我的当前实现方案
我创建了一个XML中的HorizontalScrollView
,其中包含几个LinearLayout
子项。下面是我添加的代码。
有两个LinearLayout
容器,分别为group_one
和group_two
,这些都是在运行时动态填充的。
我还会根据将插入的View
对象数量,在运行时固定HorizontalScrollView
的宽度。
当子项适合于不需要滚动HorizontalScrollView
时,这个解决方案效果很好。
问题
一旦需要进行滚动(子项超出了固定宽度的HorizontalScrollView
),则即使我可以看到子项布局的正确宽度,也无法将滚动条向右移动到底部。
我的问题
为什么滚动条会受到向右移动的限制?
我的代码
HorizontalScrollView XML
<!-- 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>
发生了什么
这是一个向左正确滚动的图像。滚动视图的边缘从红色条的右侧开始。注意两者之间的距离。
这是向右不正确滚动的图像。比较滚动视图的边缘和滚动条停止的位置之间的距离。
这是我希望滚动到任一端时看到的布局。