From df78b8a3f5351433aa799b7c54fd636035b11ae1 Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 19 Jun 2026 21:47:06 +0900 Subject: [PATCH] =?UTF-8?q?fix(creator):=20=ED=83=AD=20ViewPager=20?= =?UTF-8?q?=EB=86=92=EC=9D=B4=20=EA=B3=84=EC=82=B0=EC=9D=84=20=EB=B3=B4?= =?UTF-8?q?=EC=A0=95=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../creator/channel/CreatorChannelActivity.kt | 6 ++++-- .../CreatorChannelActivitySourceTest.kt | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt index ae197419..ae7e4bb2 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt @@ -731,10 +731,12 @@ class CreatorChannelActivity : val heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED) currentPage.measure(widthSpec, heightSpec) val measuredHeight = currentPage.measuredHeight - if (measuredHeight <= 0 || binding.viewPager.layoutParams.height == measuredHeight) return@post + val viewPagerVerticalPadding = binding.viewPager.paddingTop + binding.viewPager.paddingBottom + val targetHeight = measuredHeight + viewPagerVerticalPadding + if (measuredHeight <= 0 || binding.viewPager.layoutParams.height == targetHeight) return@post binding.viewPager.updateLayoutParams { - height = measuredHeight + height = targetHeight } } } diff --git a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt index 7f912780..362cc6b9 100644 --- a/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt +++ b/app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt @@ -382,6 +382,24 @@ class CreatorChannelActivitySourceTest { assertFalse(source.contains("private fun createTabView")) } + @Test + fun `ViewPager 높이 계산은 자체 vertical padding을 포함해 탭 하단 컨텐츠를 자르지 않는다`() { + val source = projectFile( + "app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt" + ).readText() + + assertTrue( + source.contains( + "val viewPagerVerticalPadding = binding.viewPager.paddingTop + binding.viewPager.paddingBottom" + ) + ) + assertTrue(source.contains("val targetHeight = measuredHeight + viewPagerVerticalPadding")) + assertTrue(source.contains("binding.viewPager.layoutParams.height == targetHeight")) + assertTrue(source.contains("height = targetHeight")) + assertFalse(source.contains("binding.viewPager.layoutParams.height == measuredHeight")) + assertFalse(source.contains("height = measuredHeight")) + } + @Test fun `tab source는 기존 custom tab no op 정책을 제거한다`() { val source = projectFile(