feat(creator): FanTalk 더보기 팝업을 추가한다
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package kr.co.vividnext.sodalive.v2.creator.channel.fantalk.ui
|
||||
|
||||
import android.graphics.Color
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.PopupWindow
|
||||
import androidx.core.graphics.drawable.toDrawable
|
||||
import androidx.core.view.isVisible
|
||||
import kr.co.vividnext.sodalive.databinding.ViewCreatorChannelFantalkMorePopupBinding
|
||||
|
||||
class CreatorChannelFanTalkMorePopup(
|
||||
private val anchor: View,
|
||||
private val fanTalkId: Long,
|
||||
private val showEdit: Boolean,
|
||||
private val showDelete: Boolean,
|
||||
private val onDeleteClick: (Long) -> Unit
|
||||
) {
|
||||
|
||||
private val binding = ViewCreatorChannelFantalkMorePopupBinding.inflate(LayoutInflater.from(anchor.context))
|
||||
private val popupWindow: PopupWindow = PopupWindow(anchor.context).apply {
|
||||
contentView = binding.root
|
||||
width = ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
height = ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
isOutsideTouchable = true
|
||||
isFocusable = true
|
||||
setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
|
||||
}
|
||||
|
||||
init {
|
||||
binding.tvCreatorChannelFantalkMoreEdit.isVisible = showEdit
|
||||
binding.tvCreatorChannelFantalkMoreDelete.isVisible = showDelete
|
||||
binding.tvCreatorChannelFantalkMoreEdit.setOnClickListener {
|
||||
dismiss()
|
||||
}
|
||||
binding.tvCreatorChannelFantalkMoreDelete.setOnClickListener {
|
||||
dismiss()
|
||||
onDeleteClick(fanTalkId)
|
||||
}
|
||||
}
|
||||
|
||||
fun show() {
|
||||
popupWindow.showAsDropDown(anchor)
|
||||
}
|
||||
|
||||
fun dismiss() {
|
||||
popupWindow.dismiss()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_creator_channel_sort_popup"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="@dimen/spacing_12"
|
||||
android:paddingVertical="@dimen/spacing_8">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_creator_channel_fantalk_more_edit"
|
||||
style="@style/Typography.Body2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:paddingHorizontal="@dimen/spacing_12"
|
||||
android:paddingVertical="@dimen/spacing_8"
|
||||
android:text="@string/creator_channel_fantalk_edit"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_creator_channel_fantalk_more_delete"
|
||||
style="@style/Typography.Body2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:includeFontPadding="false"
|
||||
android:paddingHorizontal="@dimen/spacing_12"
|
||||
android:paddingVertical="@dimen/spacing_8"
|
||||
android:text="@string/creator_channel_fantalk_delete"
|
||||
android:textColor="@color/white" />
|
||||
</LinearLayout>
|
||||
Reference in New Issue
Block a user