前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

枠をそれっぽく表現する

課題

領域ごとに背景色が異なる箇所がある。
これまではRelativeLayoutなどのViewGroupを使って背景色を変えるなど調整してきたが、
ConstraintLayoutを使う以上はLayoutのネストを避けたい。どうすればよいか。

対応

枠用のViewを作る。それっぽく見えさえすればいいので、ネストは必要ない。

    <View
        android:id="@+id/option_area"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="@color/white"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toStartOf="@+id/guideline_option_area"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@+id/guideline_score_area" />

内部の構造が可変な場合は、その内部部品の上下左右に対して制約をつけるかバリアを使う。