【问题标题】:Is it possible to scroll a ScrollView with a ConstraintLayout in Blueprint Mode?是否可以在蓝图模式下使用 ConstraintLayout 滚动 ScrollView?
【发布时间】:2023-03-27 17:02:02
【问题描述】:

所以我一直在使用 ScrollView 中的 ConstraintLayout 开发此布局。它工作正常,但现在我遇到了一个问题。我必须在屏幕外展开布局。我可以在设计模式下滚动,但我不能添加任何东西而不让它卡在顶部。约束是针对早期对象的,而不是我正在添加的当前对象。

我可以在蓝图模式下添加约束,但看起来我无法在蓝图模式下滚动 ScrollView。这甚至可能吗?使用 Android Studio 2.2(release) 和constraint-layout:1.0.0-alpha8

我试过像在设计模式下那样做,但它不会滚动。有什么想法吗?

使用 ConstraintLayout 正常滚动会导致约束保持在同一位置。

编辑:

更新到alpha9还是没有解决

编辑 2:

beta1 也不起作用。作为 2.2.2。

编辑 3:

示例布局:

<Button
    android:text="Button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/sampleButton"
 />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:ignore="HardcodedText">

    <android.support.constraint.ConstraintLayout

        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!-- ETC constraints -->
    </android.support.constraint.ConstraintLayout>
</ScrollView>

【问题讨论】:

    标签: android android-layout android-scrollview android-studio-2.2 android-constraintlayout


    【解决方案1】:

    在 android studio 2.2 更新中,默认包含设计模式和蓝图模式的滚动。单击预览窗格中的设计模式并尝试滚动屏幕​​,它将开始滚动。在该模式下还有另一个蓝图选项,它向您显示设计的蓝图,通过这样做也可以帮助您在蓝图模式下滚动。

    【讨论】:

    • 尝试在蓝图模式下滚动 - 没有滚动发生。尝试在设计模式下进行会导致约束不移动(意味着编辑约束仅适用于第一个元素,而不适用于滚动可见区域中的元素)。
    • 意味着没有对象在蓝图模式下移动,即使它应该移动。
    • 你能张贴你的布局文件的截图吗?
    • 在这里澄清一下:我想在滚动视图中滚动一个 ConstraintLayout;不是 RelativeLayout 或 LinearLayout。
    【解决方案2】:

    将滚动视图放在约束布局之外。然后使用这个 [红色标记] 拖动视图,它将为您制作一个自定义设备编辑器。完成后,切换回设备编辑器 [Beside rotation icon]...

    【讨论】:

    • 这是一种解决方法,而不是解决方案。 IT 不允许我(或其他任何人)在蓝图模式下滚动滚动视图。它会引起大量的滞后和等类型的问题。它工作了一段时间,然后长度消失在屏幕上。此时需要缩放(缩小),这会使所有对象变小且难以看到。而且设备越大,拖放系统的延迟就越大。使用它一段时间后,拖动约束有几秒钟的延迟。 TL:DR; 不是解决方案,而是有很多滞后的解决方法
    • 这个解决方案最适合使用滚动视图设计约束布局。到目前为止,所有滚动视图问题都已通过约束布局 1.0.2 解决,但蓝图编辑器仍然存在在编辑任何内容时将整个视图滚动到顶部的问题。
    【解决方案3】:

    在带有constraint-layout:1.0.0-beta1 的最新android studio 2.2.2 版本中,您可以滚动blueprint

    为了更好的工作,更新constraint-layout后请重启android studio(缓存无效)

    【讨论】:

    • Android Studio 2.2.2 版本和约束布局 beta1 - 不起作用。缓存失效
    • 对此的更新:仍然不起作用。视图似乎在移动,但是 [边界框?不知道它们叫什么]并且约束不动。随着 CL 1.0.1 发布
    【解决方案4】:

    还没有。

    也许尝试使用单独的文件来编辑内容,并在您拥有 ScrollView 的文件中使用包含?

    【讨论】:

      【解决方案5】:

      从 ConstraintLayout 1.0.1 开始,滚动会滚动约束。这意味着可以在蓝图模式下滚动 ConstraintLayout 并按预期运行。它适用于 Android Studio 2.3.2 及更高版本(我没有旧版本)。

      现在在滚动时,可见视图、边框和约束都会随着绘制的按钮一起移动。

      【讨论】:

        【解决方案6】:

        beta1 版本has been released。我怀疑这是固定的,但请检查一下。

        您可以在这里请求修复错误:http://tools.android.com/feedback

        PS:您正在尝试使用鼠标滚轮滚动,对吗?呵呵只是检查...我这么说是因为最近我发现我可以使用鼠标滚轮在设计模式下滚动.. duhh haha​​。不过我从未尝试过蓝图模式。

        【讨论】:

        • 是的,在使用 ConstraintLayout 时。约束在设计模式下没有移动(问题),在蓝图模式下没有任何移动。 bea1 没有解决。
        猜你喜欢
        • 2016-09-17
        • 1970-01-01
        • 1970-01-01
        • 2020-10-07
        • 2020-04-29
        • 1970-01-01
        • 1970-01-01
        • 2015-06-01
        • 1970-01-01
        相关资源
        最近更新 更多