diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt index 64c06da..c279f3a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt @@ -153,6 +153,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB private var isShowSignatureImage = false private var isAvailableLikeHeart = false + private var originalButtonPosition: IntArray? = null private val countDownTimer = object : CountDownTimer(remainingNoChattingTime * 1000, 1000) { override fun onTick(millisUntilFinished: Long) { @@ -531,19 +532,38 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB super.onDestroy() } + private fun setHeartButtonPosition() { + handler.postDelayed( + { + // 버튼의 위치 + val button = if (isHost) { + binding.flRouletteSettings + } else { + binding.flLikeHeart + } + originalButtonPosition = IntArray(2) + button.getLocationInWindow(originalButtonPosition) + }, + 500 + ) + } + private fun secondToMillis(second: Float): Long { return (second * 1000).toLong() } private fun addHeartAnimation() { - // 버튼의 위치 val button = if (isHost) { binding.flRouletteSettings } else { binding.flLikeHeart } - val buttonPosition = IntArray(2) - button.getLocationInWindow(buttonPosition) + var buttonPosition = originalButtonPosition + + if (buttonPosition == null) { + buttonPosition = IntArray(2) + button.getLocationInWindow(buttonPosition) + } // 하트 이미지뷰 생성 val heart = ImageView(this).apply { @@ -1349,6 +1369,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB binding.ivNotiMicrophoneMute.visibility = View.GONE speakerListAdapter.muteSpeakers.remove(SharedPreferenceManager.userId.toInt()) }, 100) + hideKeyboard { setHeartButtonPosition() } } private fun setBroadcaster() { @@ -1360,6 +1381,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB binding.flMicrophoneMute.visibility = View.VISIBLE binding.ivNotiMicrophoneMute.visibility = View.GONE }, 100) + hideKeyboard { setHeartButtonPosition() } } private fun changeListenerMessage(peerId: Long, isFromManager: Boolean = false) {