diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/ChatFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/ChatFragment.kt new file mode 100644 index 00000000..d6436e23 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/ChatFragment.kt @@ -0,0 +1,18 @@ +package kr.co.vividnext.sodalive.chat + +import android.os.Bundle +import android.view.View +import kr.co.vividnext.sodalive.base.BaseFragment +import kr.co.vividnext.sodalive.databinding.FragmentChatBinding + +class ChatFragment : BaseFragment(FragmentChatBinding::inflate) { + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + initView() + } + + private fun initView() { + // 채팅 화면 초기화 로직 + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt index 7eae3469..fda80138 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt @@ -35,6 +35,7 @@ import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerFragment import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity import kr.co.vividnext.sodalive.base.BaseActivity +import kr.co.vividnext.sodalive.chat.ChatFragment import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.SharedPreferenceManager @@ -385,6 +386,17 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl tab = MainViewModel.CurrentTab.HOME ) + setupTab( + binding = binding.tabChat, + title = "채팅", + imageSrc = R.drawable.ic_tabbar_chat, + colorStateList = ContextCompat.getColorStateList( + applicationContext, + R.color.color_tabbar_title + ), + tab = MainViewModel.CurrentTab.CHAT + ) + setupTab( binding = binding.tabLive, title = "라이브", @@ -409,6 +421,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl viewModel.currentTab.observe(this) { setTabSelected(binding.tabHome, isSelected = false) + setTabSelected(binding.tabChat, isSelected = false) setTabSelected(binding.tabLive, isSelected = false) setTabSelected(binding.tabMy, isSelected = false) @@ -418,6 +431,10 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl setTabSelected(binding.tabHome, isSelected = true) } + MainViewModel.CurrentTab.CHAT -> { + setTabSelected(binding.tabChat, isSelected = true) + } + MainViewModel.CurrentTab.LIVE -> { setTabSelected(binding.tabLive, isSelected = true) } @@ -474,6 +491,7 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl MainViewModel.CurrentTab.LIVE -> liveFragment MainViewModel.CurrentTab.HOME -> HomeFragment() MainViewModel.CurrentTab.MY -> MyPageFragment() + MainViewModel.CurrentTab.CHAT -> ChatFragment() } fragmentTransaction.add(R.id.fl_container, fragment, tag) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt index 7d886a87..42dca50a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainViewModel.kt @@ -40,7 +40,10 @@ class MainViewModel( LIVE, @SerializedName("MY") - MY + MY, + + @SerializedName("CHAT") + CHAT } private val _currentTab = MutableLiveData(CurrentTab.HOME) diff --git a/app/src/main/res/drawable/ic_tabbar_chat.xml b/app/src/main/res/drawable/ic_tabbar_chat.xml new file mode 100644 index 00000000..d77e5398 --- /dev/null +++ b/app/src/main/res/drawable/ic_tabbar_chat.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9325afa3..c72ee00a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -169,6 +169,13 @@ android:layout_height="wrap_content" android:layout_weight="1" /> + + + + + + +