最近,安卓Studio 2.2推出了一款新的ConstraintLayout,使设计变得更加简单,但与RelativeLayoutLinearlayout不同,我不能用ScrollView来包围ConstraintLayout.这可能吗?如果是,怎么做?

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">
        
        <android.support.constraint.ConstraintLayout
            android:id="@+id/constraintLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:layout_editor_absoluteX="0dp"
            tools:layout_editor_absoluteY="0dp">
            
            <!-- Have whatever children you want inside -->
            
        </android.support.constraint.ConstraintLayout>
        
</ScrollView>

推荐答案

ScrollView中ConstraintLayout有一个错误,已经修复.谷歌已经修复了Android Studio 2.2预览版2(constraintlayout 1.0.0-alpha2)中的漏洞.

判断此链接以获取新更新(预览2):works properly inside ScrollView and RecycleView

解决方案1:

解决方案是在 ScrollView

解决方案2:

NestedScrollView代替ScrollViewandroid:fillViewport="true"

100

目前,更常见的是使用ScrollView,将ConstraintLayout height设置为wrap_内容,它工作得很好,不要忘记fillViewPort,而且Scroll和Nested都只支持一个直接子级.

Android相关问答推荐

如何自定义所选的NavigationBar项目?

在Android中点击滑动时触发的手势

Android添加设置图标齿轮到应用程序信息

无法从API访问项目详细信息

原因平滑滚动的滞后懒惰列在android jetpack compose

由于Xcode运行脚本阶段没有指定输出,在IOS Emulator中的KMM项目中生成失败

如何在 compose 中使用可变对象?

如何在Android Studio中禁用文件中的Github用户名引用?

使用 settings.gradle 文件将 Firebase 依赖项添加到 Android 项目

Android Compose 为什么 Checkbox 在父对象可点击时需要 onCheckChanged?

我的自定义小吃店不适合我的全宽屏幕尺寸

如果 auth 失败,如何显示 toast jetpack compose firebase if else @Composable 调用只能在 @Composable 函数的上下文中发生

组成不重叠的元素

如何放置在柱子的角落(底端)

获取模板向导配方类 Intellij 中的应用程序包名称

Android:为什么 ICICI iMobile Pay 应用程序在我的应用程序中显示root/jailbroken设备?

对话框中的内容不可见

更新后 Firebase 服务无法在模拟器上运行

禁用通知权限后启动前台服务导致崩溃(Android 13)

操作系统会终止已启动的服务并调用Service.onDestroy吗?