This commit is contained in:
kunfei
2022-03-03 10:06:09 +08:00
parent 0664ae8f8b
commit 40b29466bf
2 changed files with 18 additions and 0 deletions
@@ -1,9 +1,12 @@
@file:Suppress("unused")
package io.legado.app.utils package io.legado.app.utils
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.widget.ImageButton
import androidx.appcompat.view.menu.MenuBuilder import androidx.appcompat.view.menu.MenuBuilder
import androidx.appcompat.view.menu.MenuItemImpl import androidx.appcompat.view.menu.MenuItemImpl
import androidx.appcompat.view.menu.SubMenuBuilder import androidx.appcompat.view.menu.SubMenuBuilder
@@ -55,4 +58,11 @@ fun Menu.applyOpenTint(context: Context) {
item.icon?.setTintMutate(defaultTextColor) item.icon?.setTintMutate(defaultTextColor)
} }
} }
}
fun MenuItem.setOnLongClickListener(menu: Menu, function: () -> (Unit)) {
setActionView(R.layout.view_action_button)
actionView.findViewById<ImageButton>(R.id.item).setImageDrawable(icon)
actionView.setOnLongClickListener { function.invoke(); true }
actionView.setOnClickListener { menu.performIdentifierAction(itemId, 0) }
} }
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/item"
style="?android:attr/actionButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="ContentDescription" />