ビューの左右を親ビューの余白に制限し、割り当てられたスペースを埋めるようにします。ただし、widthをmatch_parent
またはwrap_content
に設定しても同じ結果になります。
(match_parentおよびwrap_contentとは対照的に)match_constraintsと同等のものはありますか? match_parent
とwrap_content
はレイアウトに影響しますか、それとも新しい制約レイアウトで無視されますか?
私のお気に入りのプラットフォーム用のこの新しいレイアウトシステムを愛しています!
match_parent
はサポートされていません。 0dp
を使うと、制約を「残っているものを埋める」のではなく「スケーラブル」と考えることができます。
また、0dp
は位置によって定義できます。ここでmatch_parent
はその位置(x、y、および幅、高さ)を親に依存します。
match_parent
は許可されていません。しかし、実際には幅と高さを0dpに設定し、上下または左右の制約を「parent」に設定することができます。
たとえば、match_parent
制約を要素の幅に適用したい場合は、次のようにします。
<TextView
Android:layout_width="0dp"
Android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
どうやらmatch_parent
は次のとおりです。
ConstraintLayout
の直下のビューの場合ConstraintLayout
の直下にあるビューの内側にネストされたビューの場合ビューをmatch_parent
として機能させる必要がある場合は、次のようにします。
ConstraintLayout
は0dp
を使うべきですmatch_parent
を使用できます例:
<Android.support.constraint.ConstraintLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:paddingBottom="16dp">
<Android.support.design.widget.TextInputLayout
Android:id="@+id/phoneNumberInputLayout"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent">
<Android.support.design.widget.TextInputEditText
Android:id="@+id/phoneNumber"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"/>
</Android.support.design.widget.TextInputLayout>
match_parent
はConstraintLayout
ではサポートされていません。幅を0dp
に設定して制約に一致させます。
公式文書 から:
重要:MATCH_PARENTはConstraintLayoutに含まれるウィジェットにはお勧めできません。 MATCH_CONSTRAINTを使用して、対応する左または右または上/下の制約を "parent"に設定することで、同様の動作を定義できます。
あなたがMATCH_PARENT
効果を達成したいのであれば、あなたはこれを行うことができます:
<TextView
Android:id="@+id/textView"
Android:layout_width="0dp"
Android:layout_height="wrap_content"
Android:gravity="center"
Android:text="TextView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
Match_parentとしてのビューを直接作成することはできませんが、少し異なる方法で行うことができますが、RTLサポートを使用する場合はStartおよびEndと一緒にLeftおよびRight属性を使用することを忘れないでください。
<Button
Android:layout_width="0dp"
Android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
幅または高さ(親に一致させる必要があるもの)を0dpに設定し、左、右、上、下の余白を一致親として機能するように設定します。
オフィスの文書で: https://developer.Android.com/reference/Android/support/constraint/ConstraintLayout
ディメンションがMATCH_CONSTRAINTに設定されている場合、デフォルトの動作では、結果のサイズが使用可能なスペースすべてを占めます。
0dpを使用します。これは "MATCH_CONSTRAINT"と同じです。
重要:MATCH_PARENTはConstraintLayoutに含まれるウィジェットにはお勧めできません。 MATCH_CONSTRAINTを使用して、対応する左または右または上/下の制約を "parent"に設定することで、同様の動作を定義できます。
あなたのアダプタをチェックすることができます。
1 - MyLayoutBinding binding = MyLayoutBinding.inflate(layoutInflater);
2 - MyLayoutBinding binding = MyLayoutBinding.inflate(layoutInflater, viewGroup, false);
私が1を使用したとき、私はあなたと同じ問題を抱えていました。あなたは2を試すことができます。