feat(creator): 채널 홈 시리즈, 커뮤니티, 팬 Talk 섹션을 재구성한다

This commit is contained in:
2026-06-15 17:22:32 +09:00
parent c45c5a2a5c
commit 2d58a876da
25 changed files with 791 additions and 242 deletions
@@ -1,25 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="@dimen/spacing_20"
android:paddingTop="@dimen/spacing_20">
<TextView
android:id="@+id/tv_section_title"
style="@style/Typography.Heading3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
tools:text="섹션" />
<include layout="@layout/view_section_title" />
<LinearLayout
android:id="@+id/ll_section_items"
android:id="@+id/ll_community_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:layout_marginTop="@dimen/spacing_14"
android:gravity="center_horizontal"
android:orientation="vertical" />
<TextView
android:id="@+id/layout_community_more_button"
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginHorizontal="@dimen/spacing_14"
android:layout_marginTop="@dimen/spacing_8"
android:background="@drawable/bg_creator_channel_more_button"
android:gravity="center"
android:includeFontPadding="false"
android:text="@string/view_all"
android:textColor="@color/white" />
</LinearLayout>
@@ -4,22 +4,131 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="@dimen/spacing_20"
android:paddingTop="@dimen/spacing_20">
<TextView
android:id="@+id/tv_section_title"
style="@style/Typography.Heading3"
<include layout="@layout/view_section_title" />
<kr.co.vividnext.sodalive.v2.creator.channel.ui.CreatorChannelFanTalkCardView
android:id="@+id/layout_fantalk_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
tools:text="섹션" />
android:layout_marginHorizontal="@dimen/spacing_14"
android:layout_marginTop="@dimen/spacing_14"
android:background="@drawable/bg_feed_card"
android:orientation="vertical"
android:padding="@dimen/spacing_14">
<LinearLayout
android:id="@+id/ll_section_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:orientation="vertical" />
<LinearLayout
android:id="@+id/layout_fantalk_total_row"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:id="@+id/tv_fantalk_total_label"
style="@style/Typography.Body3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="@string/screen_chat_filter_all"
android:textColor="@color/white" />
<TextView
android:id="@+id/tv_fantalk_total_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_500"
tools:text="23" />
</LinearLayout>
<LinearLayout
android:id="@+id/layout_fantalk_latest_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:gravity="center_vertical"
android:orientation="horizontal"
android:visibility="gone">
<ImageView
android:id="@+id/iv_fantalk_profile"
android:layout_width="28dp"
android:layout_height="28dp"
android:contentDescription="@null"
android:scaleType="centerCrop"
android:src="@drawable/ic_placeholder_profile" />
<TextView
android:id="@+id/tv_fantalk_content"
style="@style/Typography.Body6"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="@dimen/spacing_14"
android:layout_weight="1"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="2"
android:textColor="@color/white"
tools:text="팬이 쓴 응원이 보이는 부분입니다. 두 줄까지만 보여주고 초과 시 말줄임 처리." />
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginStart="@dimen/spacing_14"
android:contentDescription="@null"
android:src="@drawable/ic_chevron_down_white" />
</LinearLayout>
<FrameLayout
android:id="@+id/layout_fantalk_empty"
android:layout_width="match_parent"
android:layout_height="169dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:id="@+id/tv_fantalk_empty_title"
style="@style/Typography.Heading1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|start"
android:layout_marginStart="@dimen/spacing_6"
android:layout_marginTop="@dimen/spacing_6"
android:includeFontPadding="false"
android:text="@string/creator_channel_fantalk_empty_title"
android:textColor="@color/white" />
<LinearLayout
android:id="@+id/layout_fantalk_support_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:layout_marginBottom="@dimen/spacing_6"
android:background="@drawable/bg_round_corner_999_white"
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/spacing_12">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:contentDescription="@null"
android:src="@drawable/ic_new_fantalk_plus" />
<TextView
style="@style/Typography.Body2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_6"
android:includeFontPadding="false"
android:text="@string/creator_channel_fantalk_support_action"
android:textColor="@color/black" />
</LinearLayout>
</FrameLayout>
</kr.co.vividnext.sodalive.v2.creator.channel.ui.CreatorChannelFanTalkCardView>
</LinearLayout>
@@ -1,25 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingHorizontal="@dimen/spacing_20"
android:paddingTop="@dimen/spacing_20">
<TextView
android:id="@+id/tv_section_title"
style="@style/Typography.Heading3"
<include layout="@layout/view_section_title" />
<HorizontalScrollView
android:id="@+id/hsv_series_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/white"
tools:text="섹션" />
<LinearLayout
android:id="@+id/ll_section_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_8"
android:orientation="vertical" />
android:layout_marginTop="@dimen/spacing_14"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingStart="@dimen/spacing_14"
android:paddingEnd="@dimen/spacing_20"
android:scrollbars="none">
<LinearLayout
android:id="@+id/ll_series_items"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" />
</HorizontalScrollView>
</LinearLayout>
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<kr.co.vividnext.sodalive.v2.creator.channel.ui.CreatorChannelHomeSeriesCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout_series_content_card"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/layout_series_thumbnail"
android:layout_width="163dp"
android:layout_height="230dp"
android:background="@drawable/bg_series_content_thumbnail">
<ImageView
android:id="@+id/iv_series_thumbnail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@null"
android:scaleType="centerCrop"
tools:src="@drawable/ic_launcher_background" />
<FrameLayout
android:id="@+id/layout_series_original_tag"
android:layout_width="70dp"
android:layout_height="24dp"
android:layout_gravity="top|start"
android:background="@drawable/bg_series_original_tag">
<ImageView
android:id="@+id/iv_series_original_icon"
android:layout_width="14dp"
android:layout_height="14dp"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="8dp"
android:contentDescription="@null"
android:src="@drawable/ic_series_original" />
<TextView
android:id="@+id/tv_series_original_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="26dp"
android:layout_marginTop="2dp"
android:fontFamily="@font/phosphate_solid"
android:text="Only"
android:textColor="@color/white"
android:textSize="16sp"
tools:ignore="HardcodedText" />
</FrameLayout>
</FrameLayout>
</kr.co.vividnext.sodalive.v2.creator.channel.ui.CreatorChannelHomeSeriesCardView>
+36 -31
View File
@@ -30,7 +30,7 @@
<TextView
android:id="@+id/tv_feed_community_creator"
style="@style/Typography.Body5"
android:layout_width="wrap_content"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:ellipsize="end"
android:includeFontPadding="false"
@@ -41,7 +41,7 @@
<TextView
android:id="@+id/tv_feed_community_created_at"
style="@style/Typography.Body6"
android:layout_width="wrap_content"
android:layout_width="85dp"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:ellipsize="end"
@@ -57,35 +57,26 @@
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_14"
android:includeFontPadding="false"
android:textColor="@color/white"
tools:text="크리에이터가 커뮤니티에 올린 글이 보이는 부분" />
<TextView
android:id="@+id/tv_feed_community_keyword"
style="@style/Typography.Body3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_4"
android:layout_marginTop="@dimen/spacing_16"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="1"
android:textColor="@color/soda_400"
tools:text="#키워드 #키워드 #키워드" />
android:maxLines="5"
android:textColor="@color/white"
tools:text="크리에이터가 커뮤니티에 올린 글이 보이는 부분" />
<FrameLayout
android:id="@+id/fl_feed_community_image_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_height="236dp"
android:layout_marginTop="@dimen/spacing_14"
android:background="@drawable/bg_feed_community_image"
android:visibility="gone">
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/iv_feed_community_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_feed_community_image"
android:contentDescription="@string/a11y_feed_content_image"
android:scaleType="centerCrop"
tools:src="@drawable/ic_launcher_background" />
@@ -94,10 +85,11 @@
android:id="@+id/ll_feed_community_paid_overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_99525252"
android:background="@color/color_26909090"
android:gravity="center"
android:orientation="vertical"
android:visibility="gone">
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:layout_width="24dp"
@@ -105,24 +97,37 @@
android:contentDescription="@null"
android:src="@drawable/ic_new_community_lock" />
<TextView
android:id="@+id/tv_feed_community_price"
style="@style/Typography.Body3"
<LinearLayout
android:layout_width="70dp"
android:layout_height="36dp"
android:layout_marginTop="@dimen/spacing_4"
android:background="@drawable/bg_round_corner_999_white"
android:background="@drawable/bg_creator_channel_community_price"
android:gravity="center"
android:includeFontPadding="false"
android:textColor="@color/black"
tools:text="30" />
android:orientation="horizontal">
<ImageView
android:layout_width="18dp"
android:layout_height="18dp"
android:contentDescription="@null"
android:src="@drawable/ic_bar_cash" />
<TextView
android:id="@+id/tv_feed_community_price"
style="@style/Typography.Body3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_6"
android:includeFontPadding="false"
android:textColor="@color/black"
tools:text="30" />
</LinearLayout>
</LinearLayout>
</FrameLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="24dp"
android:layout_marginTop="@dimen/spacing_14"
android:layout_marginTop="@dimen/spacing_16"
android:gravity="center_vertical"
android:orientation="horizontal">
@@ -139,7 +144,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_4"
android:includeFontPadding="false"
android:textColor="@color/gray_500"
android:textColor="@color/gray_400"
tools:text="5" />
<ImageView
@@ -156,7 +161,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/spacing_4"
android:includeFontPadding="false"
android:textColor="@color/gray_500"
android:textColor="@color/gray_400"
tools:text="6" />
</LinearLayout>
</kr.co.vividnext.sodalive.v2.widget.feed.FeedCommunityView>