私は制約レイアウトチェーンを使用して2つのテキストビューを垂直方向に中央に配置しようとしています。私はリニアレイアウトでテキストレイアウトをラップすることができますが、私は新しいチェーン機能を試してみたかったのです。私はエラーを取得するのに、私は私のプロジェクトをビルドすると、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の2番目の出現であっても、+ –
がなくても正しく動作しません。実際に+はあなたが新しいIDを割り当てていることを示しています。通常はRelativeLayoutのように+を付けずにIDを参照しますが、同じIDを複数回割り当ててもAndroidは寛容です。この答えはhttp://stackoverflow.com/a/5731533/389643ですが、Android要素の順序を使用してzオーダーを定義します。要素の定義の上にあるIDを参照する必要があります。また、コンパイラーの問題が発生することもあります。 – amram99