#1. ConstraintLayout_Helper
今日整理するHelperはGroup Barrier Flow Guideline Layer
したがって、サブビューを異なる状態にグループ化しながら、フラットな状態を維持することができます(ConstraintLayoutの利点).
参照のシェイプがオフセットされているため、サブビューは複数のアシスタントによって参照できます.
各アシスタントのフィーチャーは例にまとめられます.
サブビューのコンストレイントをガイドラインに関連付けることで、柔軟な条件を指定できます.
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_end="60dp" />
このガイドラインは、独自のIDで他のビューのコンストレイントに関連付けられ、親に基づいて水平線または垂直線を指定の方向に描画します.app:layout_constraintGuide_percent="0.3"
app:layout_constraintGuide_begin="30dp"
app:layout_constraintGuide_end="60dp"
垂直データムは最初から描画し、水平データムは上部から描画し、パーセントは0から1まで描画します.参照ビューの輪郭に沿ってガイドラインを描画します.
ガイドと同様に、idを他のビューのコンストレイントに関連付け、フロービューが重複しないことを確認できます.
<androidx.constraintlayout.widget.Barrier
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="start"
app:constraint_referenced_ids="textView,textView2"/>
参照するビューのidをconstraint reference idsで受信し、barrierDirectionで垂直位置と水平位置を決定します.app:barrierDirection="top"
app:barrierDirection="start"
app:barrierDirection="end"
app:barrierDirection="bottom"
設定した値をビューで参照する値を同じ値に変更します.
コンストレイントは、上のイメージのように指定できますが、コンストレイントは指定できません.この値は参照ビューのゼロに影響しません.
<androidx.constraintlayout.widget.Group
android:id="@+id/group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="20dp"
android:visibility="visible"
app:constraint_referenced_ids="textView,textView2" />
<!--app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />-->
widthとheightも適用されませんが、指定されていない場合は、実行時にエラーが発生します.constraint referenced idsに参照するビューidを追加し、グループの可視性または仰角を変更すると、これらのビューは参照のビューに反映されます.
viewに似た背景、仰角、可視性、または制約、height、widthは指定できません.
レイヤは、仰角を参照するビューの仰角に適用されない基礎概念です.
したがって、上の画像と同様に、レイヤの仰角と参照ビューの仰角が異なり、参照ビューが常にレイヤの上にある場合があります.
複数のビューに同じアニメーションを設定する必要がある場合は、レイヤを使用できます.レイヤに適用されるアニメーションは、参照のすべてのビューにも適用されます.
<androidx.constraintlayout.helper.widget.Layer
android:id="@+id/layer"
android:layout_width="match_parent"
android:layout_height="10dp"
android:padding="10dp"
android:background="@color/black"
android:elevation="10dp"
app:constraint_referenced_ids="textView,textView2" />
<!--app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />-->
グループと同様にconstraint reference idsで参照するidを受信します.Heightおよびwidthは、レイヤまたは参照ビューに適用されなくても、実行時エラーが発生するため、制約がありません.
これは、参照ビュー内の制約のないビューをソートし、constraintとheight、widthの概念を持つことに関連します.
既定のアトリビュートは水平方向に配置され、幅を超えたビューを次の行に下げます.(wrap)
<androidx.constraintlayout.helper.widget.Flow
android:id="@+id/flow"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="32dp"
app:constraint_referenced_ids="button4,textView5"
app:flow_horizontalAlign="center"
app:flow_horizontalGap="16dp"
app:flow_maxElementsWrap="2"
app:flow_verticalAlign="top"
app:flow_wrapMode="aligned"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
idを参照する順序に応じて、左から右、上から下に整列し、改行せずに参照ビューにコンストレイントを適用する2つの改行方式をサポートします.app:flowで始まる複数のプロパティがあり、デフォルトでは水平と垂直の設定が受け入れられます.
整列については、原則として水平方向と垂直方向の中央揃えであり、参照ビューの制約もflow xAlignの影響も受けません.
chainの場合、参照ビューのコンストレイントと位置合わせの影響で、より多くの位置合わせを試みることができます.
さらに、他のビューでは、コンストレイントをストリームに関連付け、barrierと同様に使用することもできます.
flowでは、さまざまな設定やアプリケーションを直接テストすることをお勧めします.
機会があればflowの様々な応用方法を単独でご紹介します
Reference
この問題について(#1. ConstraintLayout_Helper), 我々は、より多くの情報をここで見つけました https://velog.io/@yuni_choi/1constraintlayouthelperテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol