- 5행: RecyclerView 높이를 행 수에 맞게 고정, 스크롤 없음 - 6행: RecyclerView 높이를 6행으로 고정, 스크롤 활성화 - 아이템 높이를 화면 너비 기준 정사각형으로 통일 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
103 lines
3.9 KiB
XML
103 lines
3.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<androidx.constraintlayout.widget.ConstraintLayout 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"
|
|
android:id="@+id/dayRoot"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:minHeight="72dp"
|
|
android:background="@drawable/bg_grid_cell_v4">
|
|
|
|
<!-- Day Number (top-left) -->
|
|
<TextView
|
|
android:id="@+id/dayNumber"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="4dp"
|
|
android:layout_marginTop="4dp"
|
|
android:text="12"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="15sp"
|
|
android:textStyle="bold"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent" />
|
|
|
|
<!-- Tide Text (top-right) -->
|
|
<TextView
|
|
android:id="@+id/tvTide"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginEnd="4dp"
|
|
android:layout_marginTop="4dp"
|
|
android:text="08:20"
|
|
android:textColor="@color/text_tertiary"
|
|
android:textSize="9sp"
|
|
android:visibility="visible"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintTop_toTopOf="parent" />
|
|
|
|
<!-- Shift Abbreviation Circular Indicator (Center) - Larger size -->
|
|
<TextView
|
|
android:id="@+id/shiftChar"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:gravity="center"
|
|
android:text="주"
|
|
android:textSize="17sp"
|
|
android:textStyle="bold"
|
|
android:textColor="@color/text_primary"
|
|
app:layout_constraintTop_toTopOf="parent"
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintVertical_bias="0.42"/>
|
|
|
|
<!-- Memo Content Text (Below Shift) - Replacing icon logic for visibility -->
|
|
<TextView
|
|
android:id="@+id/memoContent"
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center"
|
|
android:text="메모내용"
|
|
android:textSize="10sp"
|
|
android:textColor="@color/secondary"
|
|
android:maxLines="1"
|
|
android:ellipsize="end"
|
|
android:visibility="gone"
|
|
android:layout_marginTop="2dp"
|
|
android:layout_marginBottom="2dp"
|
|
android:paddingHorizontal="2dp"
|
|
app:layout_constraintTop_toBottomOf="@id/shiftChar"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent"
|
|
app:layout_constraintBottom_toTopOf="@id/memoIndicator"/>
|
|
|
|
<!-- Holiday Name Small (Bottom) -->
|
|
<TextView
|
|
android:id="@+id/holidayNameSmall"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="설날"
|
|
android:textSize="9sp"
|
|
android:textColor="@color/shift_red"
|
|
android:layout_marginBottom="2dp"
|
|
android:visibility="gone"
|
|
app:layout_constraintBottom_toTopOf="@id/memoIndicator"
|
|
app:layout_constraintStart_toStartOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent" />
|
|
|
|
<!-- Memo Indicator (bottom-right) -->
|
|
<ImageView
|
|
android:id="@+id/memoIndicator"
|
|
android:layout_width="12dp"
|
|
android:layout_height="12dp"
|
|
android:layout_marginEnd="4dp"
|
|
android:layout_marginBottom="4dp"
|
|
android:src="@drawable/ic_memo"
|
|
app:tint="@color/secondary"
|
|
android:visibility="gone"
|
|
app:layout_constraintBottom_toBottomOf="parent"
|
|
app:layout_constraintEnd_toEndOf="parent" />
|
|
|
|
</androidx.constraintlayout.widget.ConstraintLayout>
|