feat(creator-channel): 더보기 메뉴 폰트를 고정한다
This commit is contained in:
@@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.v2.creator.channel.community.detail.reply.ui
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.transform.CircleCropTransformation
|
||||
@@ -11,6 +10,7 @@ import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.databinding.ItemCreatorChannelCommunityReplyBinding
|
||||
import kr.co.vividnext.sodalive.extensions.loadUrl
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.community.detail.CreatorChannelCommunityReplyUiModel
|
||||
import kr.co.vividnext.sodalive.v2.creator.channel.community.detail.ui.CreatorChannelCommunityMorePopup
|
||||
|
||||
class CreatorChannelCommunityReplyAdapter(
|
||||
private val onModifyClick: (CreatorChannelCommunityReplyUiModel) -> Unit,
|
||||
@@ -66,17 +66,13 @@ class CreatorChannelCommunityReplyAdapter(
|
||||
onDeleteClick: (CreatorChannelCommunityReplyUiModel) -> Unit
|
||||
) {
|
||||
if (!item.canShowMore) return
|
||||
val popup = PopupMenu(anchor.context, anchor)
|
||||
val menuRes = if (item.isMine) R.menu.content_comment_option_menu else R.menu.content_comment_option_menu2
|
||||
popup.menuInflater.inflate(menuRes, popup.menu)
|
||||
popup.setOnMenuItemClickListener { menuItem ->
|
||||
when (menuItem.itemId) {
|
||||
R.id.menu_review_modify -> onModifyClick(item)
|
||||
R.id.menu_review_delete -> onDeleteClick(item)
|
||||
}
|
||||
true
|
||||
}
|
||||
popup.show()
|
||||
CreatorChannelCommunityMorePopup(
|
||||
anchor = anchor,
|
||||
showEdit = item.isMine,
|
||||
showDelete = true,
|
||||
onEditClick = { onModifyClick(item) },
|
||||
onDeleteClick = { onDeleteClick(item) }
|
||||
).show(anchor)
|
||||
}
|
||||
|
||||
private val CreatorChannelCommunityReplyUiModel.canShowMore: Boolean
|
||||
|
||||
@@ -3,7 +3,6 @@ package kr.co.vividnext.sodalive.v2.creator.channel.community.detail.ui
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.core.view.isVisible
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.transform.CircleCropTransformation
|
||||
@@ -97,17 +96,13 @@ class CreatorChannelCommunityCommentAdapter(
|
||||
onDeleteClick: (CreatorChannelCommunityCommentUiModel) -> Unit
|
||||
) {
|
||||
if (!item.canShowMore) return
|
||||
val popup = PopupMenu(anchor.context, anchor)
|
||||
val menuRes = if (item.isMine) R.menu.content_comment_option_menu else R.menu.content_comment_option_menu2
|
||||
popup.menuInflater.inflate(menuRes, popup.menu)
|
||||
popup.setOnMenuItemClickListener { menuItem ->
|
||||
when (menuItem.itemId) {
|
||||
R.id.menu_review_modify -> onModifyClick(item)
|
||||
R.id.menu_review_delete -> onDeleteClick(item)
|
||||
}
|
||||
true
|
||||
}
|
||||
popup.show()
|
||||
CreatorChannelCommunityMorePopup(
|
||||
anchor = anchor,
|
||||
showEdit = item.isMine,
|
||||
showDelete = true,
|
||||
onEditClick = { onModifyClick(item) },
|
||||
onDeleteClick = { onDeleteClick(item) }
|
||||
).show(anchor)
|
||||
}
|
||||
|
||||
private val CreatorChannelCommunityCommentUiModel.canShowMore: Boolean
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
package kr.co.vividnext.sodalive.v2.creator.channel.community.detail.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.ViewCreatorChannelCommunityMorePopupBinding
|
||||
|
||||
class CreatorChannelCommunityMorePopup(
|
||||
anchor: View,
|
||||
showEdit: Boolean,
|
||||
showDelete: Boolean,
|
||||
onEditClick: () -> Unit,
|
||||
onDeleteClick: () -> Unit
|
||||
) {
|
||||
|
||||
private val binding = ViewCreatorChannelCommunityMorePopupBinding.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.tvCreatorChannelCommunityMoreEdit.isVisible = showEdit
|
||||
binding.tvCreatorChannelCommunityMoreDelete.isVisible = showDelete
|
||||
binding.tvCreatorChannelCommunityMoreEdit.setOnClickListener {
|
||||
dismiss()
|
||||
onEditClick()
|
||||
}
|
||||
binding.tvCreatorChannelCommunityMoreDelete.setOnClickListener {
|
||||
dismiss()
|
||||
onDeleteClick()
|
||||
}
|
||||
}
|
||||
|
||||
fun show(anchor: View) {
|
||||
popupWindow.showAsDropDown(anchor)
|
||||
}
|
||||
|
||||
fun dismiss() {
|
||||
popupWindow.dismiss()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
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_community_more_edit"
|
||||
style="@style/Typography.Body3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/regular"
|
||||
android:includeFontPadding="false"
|
||||
android:paddingHorizontal="@dimen/spacing_12"
|
||||
android:paddingVertical="@dimen/spacing_8"
|
||||
android:text="@string/creator_channel_fantalk_edit"
|
||||
android:textColor="@color/white"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_creator_channel_community_more_delete"
|
||||
style="@style/Typography.Body3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/regular"
|
||||
android:includeFontPadding="false"
|
||||
android:paddingHorizontal="@dimen/spacing_12"
|
||||
android:paddingVertical="@dimen/spacing_8"
|
||||
android:text="@string/creator_channel_fantalk_delete"
|
||||
android:textColor="@color/white"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
</LinearLayout>
|
||||
Reference in New Issue
Block a user