diff --git a/catalog/java/io/material/catalog/menu/MenuMainDemoFragment.java b/catalog/java/io/material/catalog/menu/MenuMainDemoFragment.java
index fb0f471fc..953d41f1a 100644
--- a/catalog/java/io/material/catalog/menu/MenuMainDemoFragment.java
+++ b/catalog/java/io/material/catalog/menu/MenuMainDemoFragment.java
@@ -36,6 +36,7 @@ import android.text.style.BackgroundColorSpan;
import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
+import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
@@ -90,7 +91,7 @@ public class MenuMainDemoFragment extends DemoFragment {
iconMenuButton.setOnClickListener(v -> showMenu(v, R.menu.menu_with_icons));
TextView contextMenuTextView = view.findViewById(R.id.context_menu_tv);
- registerForContextMenu(contextMenuTextView);
+ setupContextMenuWithKeyboard(contextMenuTextView);
Button listPopupWindowButton = view.findViewById(R.id.list_popup_window);
ListPopupWindow listPopupWindow = initializeListPopupMenu(listPopupWindowButton);
@@ -99,6 +100,20 @@ public class MenuMainDemoFragment extends DemoFragment {
return view;
}
+ private void setupContextMenuWithKeyboard(View view) {
+ registerForContextMenu(view);
+ view.setOnKeyListener(
+ (v, keyCode, event) -> {
+ if (event.getAction() == KeyEvent.ACTION_DOWN
+ && event.isCtrlPressed()
+ && (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_DPAD_CENTER)) {
+ v.showContextMenu();
+ return true;
+ }
+ return false;
+ });
+ }
+
@SuppressWarnings("RestrictTo")
private void showMenu(View v, @MenuRes int menuRes) {
PopupMenu popup = new PopupMenu(getContext(), v);
diff --git a/catalog/java/io/material/catalog/menu/res/values/strings.xml b/catalog/java/io/material/catalog/menu/res/values/strings.xml
index 8f7e3f9b0..6dbad944e 100644
--- a/catalog/java/io/material/catalog/menu/res/values/strings.xml
+++ b/catalog/java/io/material/catalog/menu/res/values/strings.xml
@@ -31,7 +31,7 @@
- This TextView opens a context menu when long pressed or by pressing Enter on a keyboard.
+ This TextView opens a context menu when long pressed or by pressing Ctrl + Enter on a keyboard.
\n\nIt provides actions that affect the selected content or context frame.
Highlight