From ee71e76397deccef3b02e6bd22a5f0e33495d94c Mon Sep 17 00:00:00 2001 From: kunfei Date: Thu, 3 Mar 2022 10:06:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/legado/app/utils/MenuExtensions.kt | 10 ++++++++++ app/src/main/res/layout/view_action_button.xml | 8 ++++++++ 2 files changed, 18 insertions(+) create mode 100644 app/src/main/res/layout/view_action_button.xml diff --git a/app/src/main/java/io/legado/app/utils/MenuExtensions.kt b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt index 6202750dd..7146e76fd 100644 --- a/app/src/main/java/io/legado/app/utils/MenuExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt @@ -1,9 +1,12 @@ +@file:Suppress("unused") + package io.legado.app.utils import android.annotation.SuppressLint import android.content.Context import android.view.Menu import android.view.MenuItem +import android.widget.ImageButton import androidx.appcompat.view.menu.MenuBuilder import androidx.appcompat.view.menu.MenuItemImpl import androidx.appcompat.view.menu.SubMenuBuilder @@ -55,4 +58,11 @@ fun Menu.applyOpenTint(context: Context) { item.icon?.setTintMutate(defaultTextColor) } } +} + +fun MenuItem.setOnLongClickListener(menu: Menu, function: () -> (Unit)) { + setActionView(R.layout.view_action_button) + actionView.findViewById(R.id.item).setImageDrawable(icon) + actionView.setOnLongClickListener { function.invoke(); true } + actionView.setOnClickListener { menu.performIdentifierAction(itemId, 0) } } \ No newline at end of file diff --git a/app/src/main/res/layout/view_action_button.xml b/app/src/main/res/layout/view_action_button.xml new file mode 100644 index 000000000..5c106d2d0 --- /dev/null +++ b/app/src/main/res/layout/view_action_button.xml @@ -0,0 +1,8 @@ + + \ No newline at end of file