feat(ui): 채팅 탭 추가
This commit is contained in:
@@ -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>(FragmentChatBinding::inflate) {
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
// 채팅 화면 초기화 로직
|
||||
}
|
||||
}
|
||||
@@ -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>(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>(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>(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>(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)
|
||||
|
||||
@@ -40,7 +40,10 @@ class MainViewModel(
|
||||
LIVE,
|
||||
|
||||
@SerializedName("MY")
|
||||
MY
|
||||
MY,
|
||||
|
||||
@SerializedName("CHAT")
|
||||
CHAT
|
||||
}
|
||||
|
||||
private val _currentTab = MutableLiveData(CurrentTab.HOME)
|
||||
|
||||
5
app/src/main/res/drawable/ic_tabbar_chat.xml
Normal file
5
app/src/main/res/drawable/ic_tabbar_chat.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:drawable="@drawable/ic_chat" android:state_selected="false" />
|
||||
<item android:drawable="@drawable/ic_chat_selected" android:state_selected="true" />
|
||||
</selector>
|
||||
@@ -169,6 +169,13 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/tab_chat"
|
||||
layout="@layout/item_main_tab"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<include
|
||||
android:id="@+id/tab_live"
|
||||
layout="@layout/item_main_tab"
|
||||
|
||||
19
app/src/main/res/layout/fragment_chat.xml
Normal file
19
app/src/main/res/layout/fragment_chat.xml
Normal file
@@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/black">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="채팅"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user