【发布时间】:2017-06-05 05:15:45
【问题描述】:
我正在制作一个带有图标列表的应用程序,所以就像每行两个图标一样,我有 8 个图标。 4适合视图,但重置不适合。我用过 ConstraintLayout(最新的 Android Studio)。
所以,我想 - 我如何实现此 ConstraintLayout 定位并使其可滚动?我添加了滚动视图。创建的时候会自动在下面添加LinearLayout。所以没问题,我把它去掉,我在里面加上ConstraintLayout,这样我的项目就变成了这样:
约束布局 - 滚动视图 -- 约束布局
到目前为止一切顺利,但现在如果我将任何小部件放在设计视图或蓝图视图上 - 什么都不会添加。如果我将它放在第二个约束布局下,它会加起来,但是约束是针对第一个约束布局构建的,如果我切换到第二个,所有约束布局控件都会从设计视图的顶部消失。
我的问题是:如何制作可滚动的图标页面,正确定位(最好是约束布局方式)?
谢谢!
【问题讨论】:
-
只使用LinearLayout作为ScrollView的子级。如果您需要,它会将您的视图进一步向下放置,并且您将能够滚动。
-
@Ekalips,然后布局变为线性(并损坏)。这个想法是按照constraintlayout方式进行布局,这样我就有:第1行图像,它下面的标题;它下面的图片说明;它下面的第 2 行图片说明;图片,下面的标题。如果我像你说的那样做,它会转向 LinearLayout 并根据线性布局的规则对齐,例如。没有定义的边距和东西,比如约束布局。
-
您需要指定方向(在您的情况下为垂直)并使用一些子视图。类似
之类的东西,在LinearLayout中重复几次。但我也建议你使用一些 ListView(甚至是 RecyclerView) -
@Ekalips 有效,但无效。 Stack Linear->ScrollView->Linear->Relative - 首先,对象没有正确对齐,就像它们与 ConstraintLayout 一样。其次,滚动不再起作用。 ListView - 似乎不是我想要的 - 我需要它下面的图片和标题,每行两个。
-
尝试使用 PhoneGap/Framework 7 制作类似的东西 - 更容易设计,但 a) 性能自然低于原生应用程序,b) 没有惯性/动量触摸拉动动画 :(
标签: android android-studio android-constraintlayout