gpt4 book ai didi

android - 如果使用 Match_Constraints,嵌套约束布局不显示

转载 作者:太空宇宙 更新时间:2023-11-03 13:12:08 25 4
gpt4 key购买 nike

我正在尝试在 Android 中创建一个嵌套的 ConstraintLayout。

目标是在约束布局内,左边有一个图像,右边有另一个约束布局,如下图:

enter image description here

它在预览中正确显示,但在应用程序内部,它出现错误并且根本不显示 enter image description here

布局文件:

    <?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:id="@+id/box_npcs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">


<ImageView
android:id="@+id/npcImage"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginLeft="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toBottomOf="@+id/layoutInformation"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/layoutInformation"
app:srcCompat="@color/colorBlueishGreen" />

<android.support.constraint.ConstraintLayout
android:id="@+id/layoutInformation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:maxWidth="250dp"
app:layout_constraintHorizontal_bias="0.021"
app:layout_constraintLeft_toRightOf="@+id/npcImage"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:id="@+id/top_priority"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ellipsize="start"
android:text="DummyTextIsDummy"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textColor="@color/common_google_signin_btn_text_light_default"
android:textSize="24sp"
android:textStyle="bold"
android:typeface="normal"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />

</android.support.constraint.ConstraintLayout>

</android.support.constraint.ConstraintLayout>

正在使用代码将布局添加到另一个 ConstraintLayout

parent.addChild(inflater.inflate(R.layout.box_npc);

我应该如何解决这个问题?甚至,问题是什么?

最佳答案

面临的情况是 OP 试图以编程方式将创建的 ConstraintLayout 添加到另一个 ConstraintLayout。这是用

制作的
inflater.inflate(R.layout.box, null)

这是一种不正确的方法,因为它忽略了框中的布局参数。修复它的方法是

inflater.inflate(R.layout.box, PARENT_LAYOUT/* One that box was being added to*/)

这解决了一些由于布局参​​数现在被父布局考虑而导致的问题。

更多信息:Understaing Android's Layout Inflater.inflate()

关于android - 如果使用 Match_Constraints,嵌套约束布局不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43021472/

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