mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-11 10:18:05 +09:00
#483: fixes
This commit is contained in:
parent
1cfbfff9e9
commit
a87b6b3c62
2 changed files with 58 additions and 3 deletions
|
@ -28,6 +28,12 @@ class ContextPopupWindow @JvmOverloads constructor(
|
|||
private val gravity: Int = Gravity.NO_GRAVITY
|
||||
) : PopupWindow(context, attrs, defStyle, defStyleRes) {
|
||||
|
||||
companion object {
|
||||
val HEADER = listOf(R.id.btnItalic, R.id.btnColor)
|
||||
val HIGHTLIGHT = listOf(R.id.btnBold, R.id.btnColor)
|
||||
val TEXT = listOf(R.id.btnBold, R.id.btnItalic, R.id.btnLink)
|
||||
}
|
||||
|
||||
init {
|
||||
contentView = LayoutInflater.from(context).inflate(R.layout.popup_context_menu, null)
|
||||
width = ViewGroup.LayoutParams.WRAP_CONTENT
|
||||
|
@ -39,56 +45,90 @@ class ContextPopupWindow @JvmOverloads constructor(
|
|||
isFocusable = false
|
||||
setOnDismissListener(onDismissListener)
|
||||
setTouchInterceptor(onTouchInterceptor)
|
||||
init(contentView)
|
||||
when (type) {
|
||||
AnytypeContextMenuType.P -> init(contentView, TEXT)
|
||||
AnytypeContextMenuType.HEADER -> init(contentView, HEADER)
|
||||
AnytypeContextMenuType.HIGHTLIGHTED -> init(contentView, HIGHTLIGHT)
|
||||
}
|
||||
}
|
||||
|
||||
private fun init(view: View) {
|
||||
private fun init(view: View, ids: List<Int>) {
|
||||
view.btnCopy.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Copy)
|
||||
}
|
||||
}
|
||||
view.btnCut.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Cut)
|
||||
}
|
||||
}
|
||||
view.btnPaste.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Paste)
|
||||
}
|
||||
}
|
||||
view.btnBold.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Bold)
|
||||
}
|
||||
}
|
||||
view.btnItalic.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Italic)
|
||||
}
|
||||
}
|
||||
view.btnStroke.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Stroke)
|
||||
}
|
||||
}
|
||||
view.btnCode.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Code)
|
||||
}
|
||||
}
|
||||
view.btnLink.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.Link)
|
||||
}
|
||||
}
|
||||
view.btnColor.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.TextColor)
|
||||
}
|
||||
}
|
||||
view.btnBackground.apply {
|
||||
if (this.id in ids) {
|
||||
visible()
|
||||
}
|
||||
setOnClickListener {
|
||||
onContextMenuButtonClicked(ContextMenuButtonClick.BackgroundColor)
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
<FrameLayout 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="44dp">
|
||||
android:layout_height="44dp"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:layout_width="match_parent"
|
||||
|
@ -78,6 +79,8 @@
|
|||
<ImageView
|
||||
android:id="@+id/btnBold"
|
||||
style="@style/ActionModePopupButton"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/ic_menu_bold" />
|
||||
|
||||
<View
|
||||
|
@ -88,6 +91,8 @@
|
|||
<ImageView
|
||||
android:id="@+id/btnItalic"
|
||||
style="@style/ActionModePopupButton"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/ic_menu_italic" />
|
||||
|
||||
<View
|
||||
|
@ -98,6 +103,8 @@
|
|||
<ImageView
|
||||
android:id="@+id/btnStroke"
|
||||
style="@style/ActionModePopupButton"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/ic_menu_strike_through" />
|
||||
|
||||
<View
|
||||
|
@ -108,6 +115,8 @@
|
|||
<ImageView
|
||||
android:id="@+id/btnCode"
|
||||
style="@style/ActionModePopupButton"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/ic_menu_code" />
|
||||
|
||||
<View
|
||||
|
@ -118,6 +127,8 @@
|
|||
<ImageView
|
||||
android:id="@+id/btnLink"
|
||||
style="@style/ActionModePopupButton"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:src="@drawable/ic_menu_link" />
|
||||
|
||||
<View
|
||||
|
@ -134,6 +145,8 @@
|
|||
android:paddingTop="@dimen/dp_12"
|
||||
android:paddingEnd="@dimen/dp_16"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:text="@string/menu_item_color"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="15sp" />
|
||||
|
@ -153,6 +166,8 @@
|
|||
android:paddingEnd="@dimen/dp_16"
|
||||
android:paddingBottom="@dimen/dp_12"
|
||||
android:text="@string/menu_item_background"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="15sp" />
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue