【发布时间】:2018-01-25 05:11:33
【问题描述】:
how to highlight menu item on selection?
我遇到了这个非常接近我的实现的地方。但是,在我的情况下是不同的。由于我正在为电视开发并具有 LEFT/RIGHT?CENTER 等控件。所以我使用 LocalBroadcastManager 从我的活动中的自定义布局类接收 keyEvent。
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
KeyEvent keyEvent = intent.getParcelableExtra(Constants.KEY_PRESSED_EVENT);
Log.d(TAG, "Receiver got ketEventCode : " + keyEvent.getKeyCode());
switch (keyEvent.getKeyCode()) {
case KeyEvent.KEYCODE_MENU:
if (!PipLayout.isMenuOpened)
openOptionsMenu();
else
closeOptionsMenu();
break;
case KeyEvent.KEYCODE_BACK:
return true;
}
}
当我说按遥控器上的左键时,我会执行以下操作
menu.getItem(menuItemPosition).getActionView().requestFocus();
是的,focusable 和 focusableOnTouchMode 设置为 true,但我的光标所在的项目未在 UI 中突出显示,尽管我有日志显示菜单项位置的更新。
如何突出显示它指向的菜单项?
【问题讨论】:
标签: android android-layout android-menu android-tv android-optionsmenu