带有 ScrollView 的 Android Studio 约束布局

Posted

技术标签:

【中文标题】带有 ScrollView 的 Android Studio 约束布局【英文标题】:Android Studio ConstraintLayout with ScrollView 【发布时间】: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) 没有惯性/动量触摸拉动动画 :( 【参考方案1】:

我相信这可以被标记为以下内容的重复项(我认为我没有理由标记它):android Is it possible to put a constraint layout inside a ScrollView

要回答您的问题,目前(截至 2017 年 10 月 31 日)不可能,因为 Android Studio v3.0.0 中存在错误

查看这张图片,您可以看到 ScrollView 没有按应有的方式运行: ScrollView malfunctions with ConstraintLayout

【讨论】:

以上是关于带有 ScrollView 的 Android Studio 约束布局的主要内容,如果未能解决你的问题,请参考以下文章

带有 ScrollView 的 Android Studio 约束布局

Android带有粘性头部的ScrollView

Android带有粘性头部的ScrollView

Android带有粘性头部的ScrollView

带有 ScrollView 外观的 SwiftUI 错误

带有浮动按钮的 ScrollView