feat(creator-channel): FanTalk 상세 화면을 추가한다

This commit is contained in:
2026-07-09 07:44:06 +09:00
parent 04dcb3f09f
commit da26b65a73
5 changed files with 652 additions and 0 deletions
@@ -0,0 +1,249 @@
<?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="match_parent"
android:background="@color/black">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_creator_channel_fantalk_detail_title_bar"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/black"
android:paddingHorizontal="@dimen/spacing_14"
app:layout_constraintTop_toTopOf="parent">
<ImageButton
android:id="@+id/btn_creator_channel_fantalk_detail_back"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@android:color/transparent"
android:contentDescription="@string/a11y_back"
android:src="@drawable/ic_new_bar_back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/scroll_creator_channel_fantalk_detail"
android:layout_width="match_parent"
android:layout_height="0dp"
android:clipToPadding="false"
android:fillViewport="true"
android:paddingHorizontal="@dimen/spacing_14"
app:layout_constraintBottom_toTopOf="@id/layout_creator_channel_fantalk_detail_input_bar"
app:layout_constraintTop_toBottomOf="@id/layout_creator_channel_fantalk_detail_title_bar">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/spacing_14"
android:paddingBottom="@dimen/spacing_14">
<ImageView
android:id="@+id/iv_creator_channel_fantalk_detail_profile"
android:layout_width="42dp"
android:layout_height="42dp"
android:contentDescription="@string/a11y_feed_profile_image"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/ic_placeholder_profile" />
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_nickname"
style="@style/Typography.Body5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_14"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/white"
app:layout_constraintEnd_toStartOf="@id/iv_creator_channel_fantalk_detail_more"
app:layout_constraintStart_toEndOf="@id/iv_creator_channel_fantalk_detail_profile"
app:layout_constraintTop_toTopOf="@id/iv_creator_channel_fantalk_detail_profile"
tools:text="닉네임" />
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_time"
style="@style/Typography.Body6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_4"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/gray_500"
app:layout_constraintEnd_toEndOf="@id/tv_creator_channel_fantalk_detail_nickname"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_fantalk_detail_nickname"
app:layout_constraintTop_toBottomOf="@id/tv_creator_channel_fantalk_detail_nickname"
tools:text="2분 전" />
<ImageView
android:id="@+id/iv_creator_channel_fantalk_detail_more"
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@null"
android:src="@drawable/ic_new_more"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_creator_channel_fantalk_detail_nickname"
tools:visibility="visible" />
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_content"
style="@style/Typography.Body3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_12"
android:includeFontPadding="false"
android:textColor="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_fantalk_detail_nickname"
app:layout_constraintTop_toBottomOf="@id/iv_creator_channel_fantalk_detail_profile"
tools:text="팬톡 응원 메시지 내용입니다." />
<View
android:id="@+id/view_creator_channel_fantalk_detail_reply_connector"
android:layout_width="1dp"
android:layout_height="@dimen/spacing_14"
android:layout_marginTop="@dimen/spacing_14"
android:background="@color/gray_800"
android:visibility="gone"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_fantalk_detail_content"
app:layout_constraintTop_toBottomOf="@id/tv_creator_channel_fantalk_detail_content"
tools:visibility="visible" />
<LinearLayout
android:id="@+id/layout_creator_channel_fantalk_detail_reply"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:background="@drawable/bg_creator_channel_fantalk_reply"
android:orientation="vertical"
android:padding="@dimen/spacing_14"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_fantalk_detail_content"
app:layout_constraintTop_toBottomOf="@id/view_creator_channel_fantalk_detail_reply_connector"
tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_creator_channel_fantalk_detail_reply_profile"
android:layout_width="20dp"
android:layout_height="20dp"
android:contentDescription="@string/a11y_feed_profile_image"
android:scaleType="centerCrop"
tools:src="@drawable/ic_placeholder_profile" />
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_reply_nickname"
style="@style/Typography.Caption3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_8"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/white"
tools:text="크리에이터" />
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_reply_time"
style="@style/Typography.Caption3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_4"
android:includeFontPadding="false"
android:textColor="@color/gray_400"
tools:text="방금 전" />
<View
android:id="@+id/view_creator_channel_fantalk_detail_reply_header_spacer"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1" />
<ImageView
android:id="@+id/iv_creator_channel_fantalk_detail_reply_more"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_marginStart="@dimen/spacing_8"
android:contentDescription="@null"
android:src="@drawable/ic_new_more" />
</LinearLayout>
<TextView
android:id="@+id/tv_creator_channel_fantalk_detail_reply_content"
style="@style/Typography.Body6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="응원 고마워요!" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
<LinearLayout
android:id="@+id/layout_creator_channel_fantalk_detail_input_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/black"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/spacing_14"
android:paddingVertical="10dp"
app:layout_constraintBottom_toBottomOf="parent">
<EditText
android:id="@+id/et_creator_channel_fantalk_detail_reply"
style="@style/Typography.Body6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_creator_channel_community_input_field"
android:hint="@string/creator_channel_community_reply_placeholder"
android:importantForAutofill="no"
android:inputType="textMultiLine|textCapSentences"
android:maxLines="3"
android:minHeight="40dp"
android:minLines="1"
android:paddingHorizontal="@dimen/spacing_14"
android:scrollbars="vertical"
android:textColor="@color/white"
android:textColorHint="@color/gray_500"
tools:ignore="LabelFor" />
<ImageButton
android:id="@+id/btn_creator_channel_fantalk_detail_send"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="@dimen/spacing_8"
android:background="@drawable/bg_creator_channel_community_send_disabled"
android:contentDescription="@string/action_send"
android:enabled="false"
android:src="@drawable/ic_new_arrow_up_gray" />
<ImageButton
android:id="@+id/btn_creator_channel_fantalk_detail_edit_cancel"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginStart="@dimen/spacing_8"
android:background="@android:color/transparent"
android:contentDescription="@string/cancel"
android:src="@drawable/ic_x_white"
android:visibility="gone"
tools:visibility="visible" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>