라이브 정보 변경 다이얼로그

- 공지, 메뉴 입력 창 스크롤 적용
This commit is contained in:
klaus 2024-03-08 04:55:49 +09:00
parent f7b3caf320
commit ca6416c697
2 changed files with 26 additions and 3 deletions

View File

@ -1,9 +1,11 @@
package kr.co.vividnext.sodalive.live.room.update package kr.co.vividnext.sodalive.live.room.update
import android.annotation.SuppressLint
import android.graphics.Color import android.graphics.Color
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.net.Uri import android.net.Uri
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import android.widget.ImageView import android.widget.ImageView
@ -22,6 +24,7 @@ import kr.co.vividnext.sodalive.extensions.dpToPx
import kr.co.vividnext.sodalive.live.room.create.LiveRoomCreateViewModel import kr.co.vividnext.sodalive.live.room.create.LiveRoomCreateViewModel
import kr.co.vividnext.sodalive.live.room.menu.GetMenuPresetResponse import kr.co.vividnext.sodalive.live.room.menu.GetMenuPresetResponse
@SuppressLint("ClickableViewAccessibility")
class LiveRoomInfoEditDialog( class LiveRoomInfoEditDialog(
private val activity: AppCompatActivity, private val activity: AppCompatActivity,
layoutInflater: LayoutInflater, layoutInflater: LayoutInflater,
@ -56,6 +59,22 @@ class LiveRoomInfoEditDialog(
dialogView.ivClose.setOnClickListener { alertDialog.dismiss() } dialogView.ivClose.setOnClickListener { alertDialog.dismiss() }
dialogView.tvCancel.setOnClickListener { alertDialog.dismiss() } dialogView.tvCancel.setOnClickListener { alertDialog.dismiss() }
dialogView.etNotice.setOnTouchListener { view, motionEvent ->
view.parent.parent.requestDisallowInterceptTouchEvent(true)
if ((motionEvent.action and MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) {
view.parent.parent.requestDisallowInterceptTouchEvent(false)
}
false
}
dialogView.etMenu.setOnTouchListener { view, motionEvent ->
view.parent.parent.requestDisallowInterceptTouchEvent(true)
if ((motionEvent.action and MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) {
view.parent.parent.requestDisallowInterceptTouchEvent(false)
}
false
}
dialogView.ivSwitch.setOnClickListener { dialogView.ivSwitch.setOnClickListener {
isActivateMenuLiveData.value = !isActivateMenuLiveData.value!! isActivateMenuLiveData.value = !isActivateMenuLiveData.value!!
isActivateMenu = isActivateMenuLiveData.value!! isActivateMenu = isActivateMenuLiveData.value!!
@ -100,6 +119,7 @@ class LiveRoomInfoEditDialog(
) )
} }
} }
isActivateMenuLiveData.observe(activity) { isActivateMenuLiveData.observe(activity) {
if (it) { if (it) {
dialogView.llEditMenu.visibility = View.VISIBLE dialogView.llEditMenu.visibility = View.VISIBLE
@ -116,7 +136,7 @@ class LiveRoomInfoEditDialog(
currentContent: String, currentContent: String,
) { ) {
dialogView.etTitle.setText(currentTitle) dialogView.etTitle.setText(currentTitle)
dialogView.etContent.setText(currentContent) dialogView.etNotice.setText(currentContent)
} }
fun setCoverImageUri(coverImageUri: Uri) { fun setCoverImageUri(coverImageUri: Uri) {
@ -161,7 +181,7 @@ class LiveRoomInfoEditDialog(
alertDialog.dismiss() alertDialog.dismiss()
val newTitle = dialogView.etTitle.text.toString() val newTitle = dialogView.etTitle.text.toString()
val newContent = dialogView.etContent.text.toString() val newContent = dialogView.etNotice.text.toString()
val menu = dialogView.etMenu.text.toString() val menu = dialogView.etMenu.text.toString()
confirmAction( confirmAction(

View File

@ -117,7 +117,7 @@
android:textSize="16.7sp" /> android:textSize="16.7sp" />
<EditText <EditText
android:id="@+id/et_content" android:id="@+id/et_notice"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="200dp" android:layout_height="200dp"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
@ -127,7 +127,10 @@
android:hint="라이브 공지를 입력해 주세요" android:hint="라이브 공지를 입력해 주세요"
android:importantForAutofill="no" android:importantForAutofill="no"
android:inputType="textMultiLine" android:inputType="textMultiLine"
android:overScrollMode="always"
android:padding="20dp" android:padding="20dp"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textColorHint="@color/color_777777" android:textColorHint="@color/color_777777"
android:textCursorDrawable="@drawable/edit_text_cursor" android:textCursorDrawable="@drawable/edit_text_cursor"