Я пытаюсь центрировать два текстовых изображения вертикально с использованием цепей компоновки ограничений. Я знаю, что смогу обернуть текстовые макеты в линейном макете, но я хотел попробовать новую функцию. Когда я строю свой проект, хотя я получаю сообщение об ошибке, 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>
Каждый знает, что вызывает эту ошибку?
Хах! У меня была аналогичная проблема. Я не ожидал, что это сработает, но так оно и было. Я полагаю, что первая ссылка на ID (сверху) должна иметь знак +. – amram99
@ amram99 - насколько я знаю, все ссылки на id в файле макета должны иметь + впереди. Попробуйте, я вполне уверен, что даже если ваша ссылка является вторым вводом идентификатора, она все равно не будет работать правильно без + –
, фактически + указывает, что вы назначаете новый идентификатор. Обычно вы ссылаетесь на ID без + (например, в RelativeLayout, но Android прощает о назначении одного и того же ID несколько раз. Проверьте этот ответ - http://stackoverflow.com/a/5731533/389643. Но так как Android использует порядок элементов для определения z-порядка, иногда вам приходится ссылаться на идентификатор над определением элемента, а иногда и на проблемы компилятора. – amram99