feat(creator-channel): 커뮤니티 상세 화면 리소스를 추가한다

This commit is contained in:
2026-07-09 00:53:24 +09:00
parent ea66b6da1e
commit bc3fa9546b
4 changed files with 464 additions and 0 deletions

View File

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

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="18dp"
android:viewportWidth="18"
android:viewportHeight="18">
<path
android:fillColor="@color/soda_400"
android:pathData="M9,15.8L7.9,14.8C4,11.3 1.5,9 1.5,6.2C1.5,3.9 3.3,2.2 5.5,2.2C6.8,2.2 8,2.8 9,3.8C10,2.8 11.2,2.2 12.5,2.2C14.7,2.2 16.5,3.9 16.5,6.2C16.5,9 14,11.3 10.1,14.8L9,15.8Z" />
</vector>

View File

@@ -0,0 +1,339 @@
<?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_community_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_community_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" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_title"
style="@style/Typography.Body1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="@string/creator_channel_community_detail_title"
android:textColor="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="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_community_detail"
android:layout_width="match_parent"
android:layout_height="0dp"
android:clipToPadding="false"
android:paddingHorizontal="@dimen/spacing_14"
android:paddingBottom="@dimen/spacing_16"
app:layout_constraintBottom_toTopOf="@id/layout_creator_channel_community_detail_input_bar"
app:layout_constraintTop_toBottomOf="@id/layout_creator_channel_community_detail_title_bar">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_creator_channel_community_detail_post"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_feed_card"
android:orientation="vertical"
android:padding="@dimen/spacing_14">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_creator_channel_community_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/bg_placeholder" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_nickname"
style="@style/Typography.Body5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_8"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/white"
app:layout_constraintEnd_toStartOf="@id/layout_creator_channel_community_detail_price"
app:layout_constraintStart_toEndOf="@id/iv_creator_channel_community_detail_profile"
app:layout_constraintTop_toTopOf="@id/iv_creator_channel_community_detail_profile"
tools:text="크리에이터" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_time"
style="@style/Typography.Body6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:includeFontPadding="false"
android:textColor="@color/gray_500"
app:layout_constraintEnd_toEndOf="@id/tv_creator_channel_community_detail_nickname"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_community_detail_nickname"
app:layout_constraintTop_toBottomOf="@id/tv_creator_channel_community_detail_nickname"
tools:text="2분 전" />
<LinearLayout
android:id="@+id/layout_creator_channel_community_detail_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/bg_creator_channel_community_price"
android:gravity="center"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/spacing_4"
android:paddingVertical="2dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/iv_creator_channel_community_detail_profile"
tools:visibility="visible">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:contentDescription="@null"
android:src="@drawable/ic_bar_cash" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_price"
style="@style/Typography.Caption3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:includeFontPadding="false"
android:textColor="@color/black"
tools:text="300" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_creator_channel_community_detail_body"
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_12"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="게시글 본문" />
<FrameLayout
android:id="@+id/layout_creator_channel_community_detail_image_container"
android:layout_width="match_parent"
android:layout_height="236dp"
android:layout_marginTop="@dimen/spacing_14"
android:background="@drawable/bg_feed_community_image"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/iv_creator_channel_community_detail_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/a11y_feed_content_image"
android:scaleType="centerCrop" />
<LinearLayout
android:id="@+id/layout_creator_channel_community_detail_paywall"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray_800"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@null"
android:src="@drawable/ic_new_community_lock" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_paywall_price"
style="@style/Typography.Body3"
android:layout_width="70dp"
android:layout_height="36dp"
android:layout_marginTop="@dimen/spacing_4"
android:background="@drawable/bg_creator_channel_community_price"
android:drawableStart="@drawable/ic_bar_cash"
android:drawablePadding="@dimen/spacing_6"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="@color/black"
tools:text="30" />
</LinearLayout>
</FrameLayout>
<TextView
android:id="@+id/tv_creator_channel_community_detail_audio"
style="@style/Typography.Body6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_12"
android:background="@drawable/bg_creator_channel_fantalk_reply"
android:drawableStart="@drawable/ic_new_player_play"
android:drawablePadding="@dimen/spacing_8"
android:includeFontPadding="false"
android:padding="@dimen/spacing_12"
android:textColor="@color/white"
android:visibility="gone"
tools:text="Audio"
tools:visibility="visible" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_purchased"
style="@style/Typography.Caption2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="@dimen/spacing_8"
android:background="@drawable/bg_creator_channel_community_price"
android:includeFontPadding="false"
android:paddingHorizontal="@dimen/spacing_8"
android:paddingVertical="@dimen/spacing_4"
android:text="@string/creator_channel_community_purchased_badge"
android:textColor="@color/black"
android:visibility="gone"
tools:visibility="visible" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_marginTop="@dimen/spacing_16"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iv_creator_channel_community_detail_comment"
android:layout_width="18dp"
android:layout_height="18dp"
android:contentDescription="@null"
android:src="@drawable/ic_feed_community_reply" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_comment_count"
style="@style/Typography.Body3"
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="5" />
<ImageView
android:id="@+id/iv_creator_channel_community_detail_heart"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginStart="15dp"
android:contentDescription="@null"
android:src="@drawable/ic_feed_community_heart" />
<TextView
android:id="@+id/tv_creator_channel_community_detail_like_count"
style="@style/Typography.Body3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_4"
android:layout_weight="1"
android:includeFontPadding="false"
android:textColor="@color/gray_400"
tools:text="6" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tv_creator_channel_community_detail_comment_header"
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_14"
android:includeFontPadding="false"
android:text="@string/creator_channel_community_comment_header"
android:textColor="@color/white"
android:visibility="gone"
tools:text="댓글 2"
tools:visibility="visible" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_creator_channel_community_detail_comments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_12"
android:nestedScrollingEnabled="false"
tools:itemCount="2"
tools:listitem="@layout/item_creator_channel_community_comment" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<LinearLayout
android:id="@+id/layout_creator_channel_community_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_community_detail_comment"
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_comment_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_community_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"
tools:background="@drawable/bg_creator_channel_community_send_enabled" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
android:paddingVertical="@dimen/spacing_14">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_creator_channel_community_comment_profile"
android:layout_width="42dp"
android:layout_height="42dp"
android:contentDescription="@string/a11y_profile_image"
android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@drawable/bg_placeholder" />
<TextView
android:id="@+id/tv_creator_channel_community_comment_nickname"
style="@style/Typography.Body5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_8"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/white"
app:layout_constraintEnd_toStartOf="@id/iv_creator_channel_community_comment_more"
app:layout_constraintStart_toEndOf="@id/iv_creator_channel_community_comment_profile"
app:layout_constraintTop_toTopOf="@id/iv_creator_channel_community_comment_profile"
tools:text="닉네임" />
<TextView
android:id="@+id/tv_creator_channel_community_comment_time"
style="@style/Typography.Body6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:includeFontPadding="false"
android:textColor="@color/gray_500"
app:layout_constraintEnd_toEndOf="@id/tv_creator_channel_community_comment_nickname"
app:layout_constraintStart_toStartOf="@id/tv_creator_channel_community_comment_nickname"
app:layout_constraintTop_toBottomOf="@id/tv_creator_channel_community_comment_nickname"
tools:text="2분 전" />
<ImageView
android:id="@+id/iv_creator_channel_community_comment_more"
android:layout_width="24dp"
android:layout_height="24dp"
android:contentDescription="@null"
android:src="@drawable/ic_new_more"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_creator_channel_community_comment_body"
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginTop="@dimen/spacing_8"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="댓글 내용" />
<LinearLayout
android:id="@+id/layout_creator_channel_community_comment_latest_reply"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="50dp"
android:layout_marginTop="@dimen/spacing_12"
android:background="@drawable/bg_creator_channel_fantalk_reply"
android:orientation="vertical"
android:padding="@dimen/spacing_14"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:id="@+id/tv_creator_channel_community_comment_latest_reply_nickname"
style="@style/Typography.Body5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="답글 닉네임" />
<TextView
android:id="@+id/tv_creator_channel_community_comment_latest_reply_body"
style="@style/Typography.Body6"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_6"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="최신 답글" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginTop="@dimen/spacing_14"
android:background="@color/gray_800" />
</LinearLayout>