如何突出显示导航栏抽屉菜单中的所选项目

时间:2015-07-20 03:13:17

标签: java android android-studio navigation-drawer menuitem

我已经创建了一个带菜单的导航抽屉栏,但是当我检查抽屉栏时,我想突出显示并禁用菜单栏上的所选项目。

我该怎么做?

当我点击菜单上的项目时,我也没有看到点击动画

请帮助

感谢。

这是我使用的代码

mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
        @Override
        public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
            View child = recyclerView.findChildViewUnder(motionEvent.getX(),motionEvent.getY());



            if(child!=null && mGestureDetector.onTouchEvent(motionEvent)){
                Drawer.closeDrawers();
                Toast.makeText(MainActivity.this, "The Item Clicked is: " + recyclerView.getChildPosition(child), Toast.LENGTH_SHORT).show();


                int pos = recyclerView.getChildPosition(child);

                if(pos== 1){
                    Intent intent = new Intent(getApplicationContext(),About.class);
                    startActivity(intent);
                }

                return true;

            }

            return false;
        }

        @Override
        public void onTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {

        }

        @Override
        public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

        }
    });

1 个答案:

答案 0 :(得分:0)

RecyclerView不像ListView那样处理项目选择或状态。相反,您必须在视图持有者中手动处理。

你可以做的第一件事是在你的`ViewHolder构造函数中将你的项目视图声明为可点击:

public ViewHolder(View itemView){     超级(ItemView控件);

// Make this view clickable
itemView.setClickable(true);

// ...

}

http://www.grokkingandroid.com/statelistdrawables-for-recyclerview-selection/