parent
363d611e0f
commit
519d0cd02a
|
@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.audio_content.main.v2
|
|||
|
||||
import android.content.Intent
|
||||
import android.graphics.Typeface
|
||||
import android.view.ViewGroup
|
||||
import android.widget.TextView
|
||||
import androidx.core.content.res.ResourcesCompat
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
|
@ -17,6 +18,7 @@ import kr.co.vividnext.sodalive.base.BaseActivity
|
|||
import kr.co.vividnext.sodalive.common.Constants
|
||||
import kr.co.vividnext.sodalive.databinding.ActivityAudioContentMainBinding
|
||||
import kr.co.vividnext.sodalive.mypage.alarm.AlarmListActivity
|
||||
import kotlin.math.min
|
||||
|
||||
enum class AudioContentMainTab {
|
||||
HOME, SERIES, CONTENT, ALARM, ASMR, REPLAY, FREE;
|
||||
|
@ -103,10 +105,29 @@ class AudioContentMainActivity : BaseActivity<ActivityAudioContentMainBinding>(
|
|||
}
|
||||
})
|
||||
|
||||
tabs.getTabAt(startTabPosition.ordinal)?.select()
|
||||
tabs.getTabAt(startTabPosition.ordinal)?.let {
|
||||
it.select()
|
||||
scrollToTab(tabs, startTabPosition.ordinal)
|
||||
}
|
||||
replaceFragment(selectedTab = startTabPosition)
|
||||
}
|
||||
|
||||
private fun scrollToTab(tabLayout: TabLayout, position: Int) {
|
||||
tabLayout.post {
|
||||
val layout = tabLayout.getChildAt(0) as ViewGroup
|
||||
val tabView = layout.getChildAt(position)
|
||||
|
||||
// 화면 전체 너비
|
||||
val parentWidth = tabLayout.width
|
||||
// 선택한 탭의 중심 좌표
|
||||
val tabCenterX = tabView.left + tabView.width / 2
|
||||
// 스크롤 할 위치 = 탭의 중심을 화면 중앙에 배치
|
||||
val scrollToX = tabCenterX - parentWidth / 2
|
||||
|
||||
tabLayout.scrollTo(min(tabView.left, scrollToX), 0)
|
||||
}
|
||||
}
|
||||
|
||||
private fun replaceFragment(selectedTab: AudioContentMainTab) {
|
||||
val startFragment = when (selectedTab) {
|
||||
AudioContentMainTab.CONTENT -> AudioContentMainTabContentFragment()
|
||||
|
|
Loading…
Reference in New Issue