我试图使用约束布局链垂直居中两个文本视图。我知道我可以将文本布局包装成线性布局,但我想尝试新的链特征。当我构建我的项目时,我收到错误Error:(28, 50) No resource found that matches the given name (at 'layout_constraintBottom_toTopOf' with value '@id/item_school_location').
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="72dp">
<ImageView
android:id="@+id/item_school_logo"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_marginStart="16dp"
android:contentDescription="@string/item_school_logo_description"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5" />
<TextView
android:id="@+id/item_school_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginStart="72dp"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.AppCompat.Light.SearchResult.Subtitle"
app:layout_constraintBottom_toTopOf="@id/item_school_location"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.5"
app:layout_constraintVertical_chainPacked="true" />
<TextView
android:id="@+id/item_school_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginStart="72dp"
android:maxLines="1"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/item_school_name" />
</android.support.constraint.ConstraintLayout>
</layout>
任何人都知道导致此错误的原因是什么?
答案 0 :(得分:5)
app:layout_constraintLeft_toLeftOf="parent"
也许我不完全是最新的,但我认为价值不应该是“父” - 它应该是一个视图ID(格式为“@ + id / some_id”)。
为您的约束布局提供一个id,然后尝试使用它而不是父。
修改:我想我已经过时了?因为我只是再读一遍,你的错误就像这一行:
layout_constraintBottom_toTopOf="@id/item_school_location"
在@之后缺少+ - 因为它应该是
layout_constraintBottom_toTopOf="@+id/item_school_location"
答案 1 :(得分:1)
我认为
找不到与给定名称匹配的资源
错误是由于您引用了在引用它的元素(item_school_name)之后声明的元素(item_school_location)的id。
在这种情况下,如果您在单独的ids.xml文件中声明相关元素的ID会有所帮助(请查看:https://stackoverflow.com/a/12247971)