feat: 메인 라이브

- 라이브 예약 중 UI 변경
This commit is contained in:
2025-07-17 20:49:44 +09:00
parent 0c7c7946c6
commit 440104a7d1
14 changed files with 580 additions and 146 deletions

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<corners
android:topLeftRadius="0dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="16dp"
android:bottomRightRadius="16dp" />
</shape>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FF5C49" />
<corners
android:topLeftRadius="16dp"
android:topRightRadius="16dp"
android:bottomLeftRadius="0dp"
android:bottomRightRadius="0dp" />
</shape>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="107dp"
android:height="107dp"
android:viewportWidth="107"
android:viewportHeight="107">
<!-- Background -->
<path
android:fillColor="#E0E0E0"
android:pathData="M0,16C0,7.16 7.16,0 16,0H91C99.84,0 107,7.16 107,16V91C107,99.84 99.84,107 91,107H16C7.16,107 0,99.84 0,91V16Z" />
<!-- Person icon -->
<path
android:fillColor="#BDBDBD"
android:pathData="M53.5,30C58.19,30 62,33.81 62,38.5C62,43.19 58.19,47 53.5,47C48.81,47 45,43.19 45,38.5C45,33.81 48.81,30 53.5,30ZM53.5,52C63.44,52 77,56.98 77,67V72C77,74.21 75.21,76 73,76H34C31.79,76 30,74.21 30,72V67C30,56.98 43.56,52 53.5,52Z" />
</vector>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#263238" />
<corners android:radius="16dp" />
</shape>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#263238" />
<corners android:radius="16dp" />
<stroke
android:width="1dp"
android:color="@color/color_3bb9f1" />
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#3B5FF1" />
<corners android:radius="16dp" />
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFFFFF" />
<corners android:radius="16dp" />
</shape>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#2E6279" />
<corners android:radius="16dp" />
</shape>

View File

@@ -91,6 +91,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="48dp"
android:clipToPadding="false"
android:paddingHorizontal="24dp"
android:visibility="gone" />
<include

View File

@@ -13,87 +13,211 @@
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:drawablePadding="8dp"
android:fontFamily="@font/gmarket_sans_bold"
android:fontFamily="@font/pretendard_bold"
android:text="내가 개설한 라이브"
android:textColor="@color/color_80d8ff"
android:textSize="16sp"
android:textSize="18sp"
app:drawableStartCompat="@drawable/ic_mic_colored" />
<RelativeLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_round_corner_8_transparent_3bb9f1"
android:orientation="horizontal"
android:padding="1dp">
android:background="@drawable/live_booking_card_background_with_stroke"
android:padding="14dp">
<ImageView
android:id="@+id/iv_cover"
android:layout_width="80dp"
android:layout_height="116.7dp"
android:id="@+id/iv_profile"
android:layout_width="107dp"
android:layout_height="107dp"
android:contentDescription="@null"
android:scaleType="centerCrop"
android:src="@drawable/ic_placeholder_profile"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<!-- Content Area -->
<LinearLayout
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="30dp"
android:layout_toStartOf="@+id/iv_lock"
android:layout_toEndOf="@+id/iv_cover"
android:orientation="vertical">
<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_weight="1"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/iv_profile"
app:layout_constraintEnd_toStartOf="@+id/ll_date"
app:layout_constraintStart_toEndOf="@+id/iv_profile"
app:layout_constraintTop_toTopOf="@+id/iv_profile">
<!-- Title -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_ffd300"
android:textSize="9.3sp"
tools:ignore="SmallSp"
tools:text="2021.06.20 SUN 10:00 PM" />
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginBottom="4dp"
android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_bbbbbb"
android:textSize="11.3sp"
tools:text="사냥꾼 1004" />
<TextView
android:id="@+id/tv_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#FFFFFF"
android:textSize="18sp"
tools:text="우기라스" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
</LinearLayout>
<!-- Content -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:fontFamily="@font/gmarket_sans_medium"
android:maxLines="2"
android:textColor="@color/color_e2e2e2"
android:textSize="15.3sp"
tools:text="여자들이 좋아하는 남자 스타일은?" />
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
android:ellipsize="end"
android:fontFamily="@font/pretendard_regular"
android:maxLines="2"
android:textColor="#B0BEC5"
android:textSize="16sp"
tools:text="평범한 가족의 아슬아슬한 이중생활..." />
<!-- Time Info -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_day_of_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#78909C"
android:textSize="16sp"
tools:text="월" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:fontFamily="@font/pretendard_regular"
android:text="|"
android:textColor="#78909C"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#98A2F6"
android:textSize="16sp"
tools:text="오후 03:30" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/iv_lock"
<!-- Right Area -->
<LinearLayout
android:id="@+id/ll_date"
android:layout_width="52dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<!-- Month -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/date_month_background"
android:gravity="center"
android:paddingVertical="4dp">
<TextView
android:id="@+id/tv_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold"
android:lineSpacingMultiplier="1.2"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold"
tools:text="6월" />
</LinearLayout>
<!-- Day -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/date_day_background"
android:gravity="center"
android:paddingVertical="4dp">
<TextView
android:id="@+id/tv_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold"
android:lineSpacingMultiplier="1.2"
android:textColor="#263238"
android:textSize="16sp"
tools:text="27" />
</LinearLayout>
</LinearLayout>
<!-- Payment Status -->
<LinearLayout
android:id="@+id/ll_can"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginTop="13.3dp"
android:layout_marginEnd="13.3dp"
android:background="@drawable/bg_circle_b3333333"
android:contentDescription="@null"
android:padding="2.7dp"
android:src="@drawable/ic_lock"
android:visibility="gone" />
</RelativeLayout>
android:layout_alignParentBottom="true"
android:background="@drawable/payment_background"
android:gravity="center_vertical"
android:minWidth="52dp"
android:orientation="horizontal"
android:padding="4dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<View
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="13dp"
android:background="@color/color_88909090" />
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginEnd="2dp"
android:contentDescription="@null"
android:src="@drawable/ic_can_circle" />
<TextView
android:id="@+id/tv_can"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#FFFFFF"
android:textSize="14sp"
tools:text="1,000" />
</LinearLayout>
<TextView
android:id="@+id/tv_free"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/payment_free_background"
android:fontFamily="@font/pretendard_regular"
android:gravity="center"
android:minWidth="52dp"
android:padding="4dp"
android:text="무료"
android:textColor="#263238"
android:textSize="14sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>

View File

@@ -0,0 +1,219 @@
<?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:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/live_booking_card_background"
android:padding="14dp">
<ImageView
android:id="@+id/iv_profile"
android:layout_width="107dp"
android:layout_height="107dp"
android:contentDescription="@null"
android:scaleType="centerCrop"
android:src="@drawable/ic_placeholder_profile"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars" />
<!-- Content Area -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_weight="1"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="@+id/iv_profile"
app:layout_constraintEnd_toStartOf="@+id/ll_date"
app:layout_constraintStart_toEndOf="@+id/iv_profile"
app:layout_constraintTop_toTopOf="@+id/iv_profile">
<!-- Title -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_nickname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#FFFFFF"
android:textSize="18sp"
tools:text="우기라스" />
</LinearLayout>
<!-- Content -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="8dp"
android:ellipsize="end"
android:fontFamily="@font/pretendard_regular"
android:maxLines="2"
android:textColor="#B0BEC5"
android:textSize="16sp"
tools:text="평범한 가족의 아슬아슬한 이중생활..." />
<!-- Time Info -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_day_of_week"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#78909C"
android:textSize="16sp"
tools:text="월" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="4dp"
android:fontFamily="@font/pretendard_regular"
android:text="|"
android:textColor="#78909C"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#98A2F6"
android:textSize="16sp"
tools:text="오후 03:30" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- Right Area -->
<LinearLayout
android:id="@+id/ll_date"
android:layout_width="52dp"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<!-- Month -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/date_month_background"
android:gravity="center"
android:paddingVertical="4dp">
<TextView
android:id="@+id/tv_month"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold"
android:lineSpacingMultiplier="1.2"
android:textColor="#FFFFFF"
android:textSize="14sp"
android:textStyle="bold"
tools:text="6월" />
</LinearLayout>
<!-- Day -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/date_day_background"
android:gravity="center"
android:paddingVertical="4dp">
<TextView
android:id="@+id/tv_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_bold"
android:lineSpacingMultiplier="1.2"
android:textColor="#263238"
android:textSize="16sp"
tools:text="27" />
</LinearLayout>
</LinearLayout>
<!-- Payment Status -->
<LinearLayout
android:id="@+id/ll_can"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/payment_background"
android:gravity="center_vertical"
android:minWidth="52dp"
android:orientation="horizontal"
android:paddingHorizontal="4dp"
android:paddingVertical="2dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent">
<ImageView
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginEnd="2dp"
android:contentDescription="@null"
android:src="@drawable/ic_can_circle" />
<TextView
android:id="@+id/tv_can"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pretendard_regular"
android:textColor="#FFFFFF"
android:textSize="14sp"
tools:text="300" />
</LinearLayout>
<TextView
android:id="@+id/tv_complete_reservation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/reservation_complete_background"
android:fontFamily="@font/pretendard_regular"
android:minWidth="52dp"
android:padding="4dp"
android:text="예약완료"
android:textColor="#FFF"
android:textSize="14sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<TextView
android:id="@+id/tv_free"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/payment_free_background"
android:fontFamily="@font/pretendard_regular"
android:gravity="center"
android:minWidth="52dp"
android:padding="4dp"
android:text="무료"
android:textColor="#263238"
android:textSize="14sp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>