1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-11 10:18:05 +09:00
This commit is contained in:
Ivanov Konstantin 2020-06-08 22:00:33 +03:00
parent 1cfbfff9e9
commit a87b6b3c62
2 changed files with 58 additions and 3 deletions

View file

@ -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)
}

View file

@ -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" />