我有以下布局:
<HorizontalScrollView
android:id="@+id/scrollableContents"
android:layout_above="@id/getting_started_buttons_container"
android:layout_below="@id/getting_started_title_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<FrameLayout
android:id="@+id/getting_started_keywords_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
</FrameLayout>
</HorizontalScrollView>
我在容器中使用for循环动态添加视图,i,m使用翻译将它们移动到右边
index = 0;
for (Word word : wordList) { //wordList size is 15 or more
index++;
view = new MyView(this, null);
view.setTranslationX(index * 150);
container.addView(view);
container.invalidate();
scrollView.requestLayout();
scrollView.invalidate();
}
我的scrollView没有延伸到屏幕上,因为它有初始的空视图。我需要看到所有观点。有谁能够帮我?我需要一种方法将scrollView更新为包含所有元素的宽度
编辑:我想用动态数量的圆圈来实现这样的东西,如果屏幕上没有空间,则必须在scrollView中扩展。 LinearLayout不是解决方案......答案 0 :(得分:1)
将RelativeLayout替换为水平LinearLayout
答案 1 :(得分:1)
您使用RelativeLayout作为父视图。然后,您需要使用LayoutParam添加规则来设置位置,例如 toRightOf()和 alignParentTop 。
如果您没有为视图添加规则,您的视图将在同一位置重叠(顶部和左侧)
所以只需使用LinearLayout方向就可以了。
感谢。希望这会对你有所帮助。