概要
昨日力技でカレンダーを作成したのですが、テキストの位置を変えたり、枠線を加えようとしたら全然うまく行かず、そもそも作成方法があんまり良くなかったのではないか?と思って調べてみたところGuidelineという神ツールがあることを知ったのでそちらを使って作成し直すことにしました。
超絶本当に最高になった記事
https://qiita.com/devnokiyo/items/59d72bf285ee378ef637
ガイドラインを作成
まず縦横それぞれのマス目の割合を定義したGuidelineを定義します。
<?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"
xmlns:tools="http://schemas.android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--縦分割のガイドライン-->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/youbi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.25" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.40" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.55" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.70" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.85" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="1" />
<!--横分割のガイドライン-->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.14" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.28" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.42" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.56" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.70" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.84" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
最初やり方が分かっておらずapp:layout_constraintGuide_percent
に定義したい割合を全部0.15
とかみたいに定義していたが、そうではなくTOPを0としてそこからの距離を定義するものだったのそれぞれ足し算して定義するようにしました。
この状態でdesignを見てみると....

すでにカレンダーっぽいですね...(絶対このやり方やん...)
日付を当てはめる
ここからは結局前回と同様で力技にはなるのですが...
各マス目に日付を当てはめていきます。(今回は6月のカレンダーを作る想定でいきます。)
→後で気づいたんですけど、これ2019の6月でしたね....
<?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"
xmlns:tools="http://schemas.android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--縦分割のガイドライン-->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/youbi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.1" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.25" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.40" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.55" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.70" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.85" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/line_6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="1" />
<!--横分割のガイドライン-->
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.14" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.28" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.42" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.56" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.70" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.84" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/row7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="1" />
<TextView
android:id="@+id/sunday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Sun"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/monday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Mon"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/tuesday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Tue"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/wednesday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Wed"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/thursday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Thu"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/friday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Fri"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/saturday"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="Sat"
app:layout_constraintBottom_toBottomOf="@id/youbi"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@+id/sunday" />
<TextView
android:id="@+id/cell_1"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="26"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_2"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="27"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_3"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="28"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_4"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="29"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_5"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="30"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_6"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="31"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_7"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="1"
app:layout_constraintBottom_toBottomOf="@id/line_1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/youbi" />
<TextView
android:id="@+id/cell_21"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="2"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_22"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="3"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_23"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="4"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_24"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="5"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_25"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="6"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_26"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="7"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_27"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="8"
app:layout_constraintBottom_toBottomOf="@id/line_2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/line_1" />
<TextView
android:id="@+id/cell_31"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="9"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_32"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="10"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_33"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="11"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_34"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="12"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_35"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="13"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_36"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="14"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_37"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="15"
app:layout_constraintBottom_toBottomOf="@id/line_3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/line_2" />
<TextView
android:id="@+id/cell_41"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="16"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_42"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="17"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_43"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="18"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_44"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="19"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_45"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="20"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_46"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="21"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_47"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="22"
app:layout_constraintBottom_toBottomOf="@id/line_4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/line_3" />
<TextView
android:id="@+id/cell_51"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="23"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_52"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="24"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_53"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="25"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_54"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="26"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_55"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="27"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_56"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="28"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_57"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="29"
app:layout_constraintBottom_toBottomOf="@id/line_5"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/line_4" />
<TextView
android:id="@+id/cell_61"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="30"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_62"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="1"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row2"
app:layout_constraintStart_toEndOf="@+id/row1"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_63"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="2"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row3"
app:layout_constraintStart_toEndOf="@+id/row2"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_64"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="3"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row4"
app:layout_constraintStart_toEndOf="@+id/row3"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_65"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="4"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row5"
app:layout_constraintStart_toEndOf="@+id/row4"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_66"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="5"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="@id/row6"
app:layout_constraintStart_toEndOf="@+id/row5"
app:layout_constraintTop_toTopOf="@id/line_5" />
<TextView
android:id="@+id/cell_67"
android:layout_width="0dp"
android:layout_height="0dp"
android:gravity="center_horizontal|center_vertical"
android:text="6"
app:layout_constraintBottom_toBottomOf="@id/line_6"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/row6"
app:layout_constraintTop_toTopOf="@id/line_5" />
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
前回より格段に指定がしやすくなりました。。。
出来上がった画面がこちら!!!!

まぁ見た目的には前回とさほど変わらないんですけど...
文字の位置とかも結構自由に変えられるうえ、枠線とかも入れられそうなので次回はそこらへんのデザインを調整しようと思います。