From e2575e2b15eb1264c914e1a78ee8adc9f1b0e611 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 15 Jun 2026 13:21:01 +0900 Subject: [PATCH] =?UTF-8?q?feat(creator):=20=EC=B1=84=EB=84=90=20=ED=99=88?= =?UTF-8?q?=20=EA=B3=B5=EC=A7=80=20=EC=B9=B4=EB=93=9C=EB=A5=BC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/CreatorChannelNoticeCardView.kt | 25 ++++ .../ui/CreatorChannelNoticeThumbnailView.kt | 25 ++++ .../item_creator_channel_home_notice.xml | 30 +++++ .../item_creator_channel_home_notice_row.xml | 111 ++++++++++++++++++ 4 files changed, 191 insertions(+) create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeCardView.kt create mode 100644 app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeThumbnailView.kt create mode 100644 app/src/main/res/layout/item_creator_channel_home_notice.xml create mode 100644 app/src/main/res/layout/item_creator_channel_home_notice_row.xml diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeCardView.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeCardView.kt new file mode 100644 index 00000000..4813f12c --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeCardView.kt @@ -0,0 +1,25 @@ +package kr.co.vividnext.sodalive.v2.creator.channel.ui + +import android.content.Context +import android.graphics.Outline +import android.util.AttributeSet +import android.view.View +import android.view.ViewOutlineProvider +import android.widget.LinearLayout +import kr.co.vividnext.sodalive.R + +class CreatorChannelNoticeCardView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : LinearLayout(context, attrs, defStyleAttr) { + + init { + clipToOutline = true + outlineProvider = object : ViewOutlineProvider() { + override fun getOutline(view: View, outline: Outline) { + outline.setRoundRect(0, 0, view.width, view.height, resources.getDimension(R.dimen.radius_14)) + } + } + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeThumbnailView.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeThumbnailView.kt new file mode 100644 index 00000000..0dbcd109 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelNoticeThumbnailView.kt @@ -0,0 +1,25 @@ +package kr.co.vividnext.sodalive.v2.creator.channel.ui + +import android.content.Context +import android.graphics.Outline +import android.util.AttributeSet +import android.view.View +import android.view.ViewOutlineProvider +import androidx.appcompat.widget.AppCompatImageView +import kr.co.vividnext.sodalive.R + +class CreatorChannelNoticeThumbnailView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : AppCompatImageView(context, attrs, defStyleAttr) { + + init { + clipToOutline = true + outlineProvider = object : ViewOutlineProvider() { + override fun getOutline(view: View, outline: Outline) { + outline.setRoundRect(0, 0, view.width, view.height, resources.getDimension(R.dimen.radius_14)) + } + } + } +} diff --git a/app/src/main/res/layout/item_creator_channel_home_notice.xml b/app/src/main/res/layout/item_creator_channel_home_notice.xml new file mode 100644 index 00000000..e62d0a06 --- /dev/null +++ b/app/src/main/res/layout/item_creator_channel_home_notice.xml @@ -0,0 +1,30 @@ + + + + + + + + + + diff --git a/app/src/main/res/layout/item_creator_channel_home_notice_row.xml b/app/src/main/res/layout/item_creator_channel_home_notice_row.xml new file mode 100644 index 00000000..c5585a3c --- /dev/null +++ b/app/src/main/res/layout/item_creator_channel_home_notice_row.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +