onunix 2023-03-07 15:10 采纳率: 78.9%
浏览 36
已结题

请问layout_constraintTop_toBottomO失效的原因


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
    >
    <androidx.appcompat.widget.LinearLayoutCompat
        android:id="@+id/aa"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:orientation="horizontal"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent">
    </androidx.appcompat.widget.LinearLayoutCompat>
    <TextView
        android:id="@+id/bb"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="0dp"
        app:layout_constraintTop_toBottomOf="@id/aa"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

请问这里,这句app:layout_constraintTop_toBottomOf="@id/aa"为什么会失效,我本意是希望使用这句,使得bb在aa的下方,但实际效果,aa和bb顶部对齐(aa的顶部和bb的顶部在同一高度)

  • 写回答

3条回答 默认 最新

  • 「已注销」 2023-03-07 15:16
    关注

    “Devil组”引证GPT后的撰写:

    • LinearLayoutCompat 控件的高度设置为 45dp,因此,它的底部将位于屏幕顶部的 45dp 下方。然而,TextView 控件的高度设置为 match_parent,这意味着它将填充整个父容器的高度,包括 LinearLayoutCompat 控件的高度。
    • 因此,将 app:layout_constraintTop_toBottomOf="@id/aa" 应用于 TextView 控件将使其顶部与 LinearLayoutCompat 控件的底部对齐,而不是 LinearLayoutCompat 控件的顶部。要将 TextView 控件放置在 LinearLayoutCompat 控件下方,请将 LinearLayoutCompat 控件的底部约束与 TextView 控件的顶部约束相连

    如下所示:

    <androidx.constraintlayout.widget.ConstraintLayout 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"
        >
        <androidx.appcompat.widget.LinearLayoutCompat
            android:id="@+id/aa"
            android:layout_width="match_parent"
            android:layout_height="45dp"
            android:orientation="horizontal"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent">
        </androidx.appcompat.widget.LinearLayoutCompat>
        <TextView
            android:id="@+id/bb"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_constraintTop_toBottomOf="@id/aa"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"/>
    </androidx.constraintlayout.widget.ConstraintLayout>
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月8日
  • 创建了问题 3月7日

悬赏问题

  • ¥15 使用X11可以找到托盘句柄,监控到窗口点击事件但是如何在监听的同时获取托盘中应用的上下文菜单句柄
  • ¥45 字符串操作——数组越界问题
  • ¥15 Loss下降到0.08时不在下降调整学习率也没用
  • ¥15 QT+FFmpeg使用GPU加速解码
  • ¥15 为什么投影机用酷喵播放电影放一段时间就播放不下去了?提示发生未知故障,有什么解决办法吗?
  • ¥15 来个会搭建付费网站的有偿
  • ¥100 有能够实现人机模式的c/c++代码,有图片背景等,能够直接进行游戏
  • ¥15 以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
  • ¥15 求GCMS辅导数据分析
  • ¥15 Open GL ES 的使用