gpt4 book ai didi

android - 使用 的 ConstraintLayout 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:42 24 4
gpt4 key购买 nike

我想弄清楚为什么这不起作用。我只添加了两个 <include> ConstraintLayout 中的部分并且布局不遵循我设置的任何约束。我正在尝试开始迁移到使用 ConstraintLayout作为我的首选布局,但像这样的事情总是让我回到 RelativeLayoutLinearLayout .

这是顶级布局文件(ConstraintLayout),显示了一些不起作用的约束:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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"
tools:layout_editor_absoluteY="81dp"
tools:layout_editor_absoluteX="0dp">

<include
android:id="@+id/includeButton"
layout="@layout/include_button_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />

<include
android:id="@+id/includeText"
layout="@layout/include_text_panel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />

</android.support.constraint.ConstraintLayout

这是第一个包含的布局(include_button_panel):

<?xml version="1.0" encoding="utf-8"?>
<merge
xmlns:android="http://schemas.android.com/apk/res/android">

<Button
android:id="@+id/include_button_panel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Touch me!" />

</merge>

这是第二个包含的布局(include_text_panel):

<?xml version="1.0" encoding="utf-8"?>
<merge
xmlns:android="http://schemas.android.com/apk/res/android">

<TextView
android:id="@+id/include_text_panel_text"
android:layout_width="wrap_content"
android:background="#7986cb"
android:layout_height="wrap_content"
android:text="This is the text panel"
android:textColor="@android:color/black"
android:textSize="18sp" />
</merge>

最佳答案

删除 <merge>来自两个包含的布局的标记。

当您在 <include> 上指定属性时标签,系统会将这些属性应用于包含的布局的 Root View 。 <merge>标记是一个特殊元素,允许您在布局中拥有多个 View , 没有 Root View 。因此,当您包含的布局使用 <merge> 时,您的所有约束都会被丢弃。标签。幸运的是,您包含的两个布局在合并中只有一个 View ,因此您可以完全删除合并。

关于android - 使用 <include> 的 ConstraintLayout 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46290667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com