【问题标题】:Android menu options doesn't higlight on click/touchAndroid 菜单选项不会在点击/触摸时突出显示
【发布时间】:2013-02-24 13:08:34
【问题描述】:

我在屏幕底部显示菜单操作栏。当用户单击/触摸任何菜单项时,我想突出显示它(即按钮单击突出显示的方式)。我尝试了 onClickListener 和 ontouchListener 但它没有突出显示。

谁能告诉我我设置了哪些属性/方法。

这是我正在使用的代码。

@Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.landing_page_layout);

        ActionBar actionBar = getActionBar();
        actionBar.show();

// business logic }



    @Override
        public boolean onCreateOptionsMenu(Menu menu) {


            getMenuInflater().inflate(R.menu.menu_items, menu);

            item1 = menu.findItem(R.id.menu_option1);
            item1.getActionView().setOnTouchListener(new OnTouchListener() {

 // logic when user touch menu option1 touch      
 }});

谢谢 钦坦

【问题讨论】:

  • 你能发布一些你正在尝试的代码吗?
  • 我分享了代码。请让我知道出了什么问题?

标签: android click highlight menuitem


【解决方案1】:

查看文档中的此部分:http://developer.android.com/guide/topics/ui/menus.html#options-menu

要设置菜单,请执行以下操作:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}

其中 R.menu.menu 指向您的 res/menu/menu.xml 文件。这将从该文件加载元素

选项菜单的收听方式与使用 OnClickListeners 等的常规 View 相同。相反,你 onOptionsItemSelected 像这样覆盖:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
        case R.id.item1:
            // Do something
            return true;
        case R.id.item2:
            // Do something else
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    相关资源
    最近更新 更多