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

问题描述:

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

我该怎么做?

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

请帮助

感谢。

这是我用

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) { 

     } 
    }); 
+0

我认为你可以找到答案[这里](http://*.com/questions/29983848/how-to-highlight-the-selected-item -of-recycler-view):) –

RecyclerView不处理项目选择或状态像一个ListView做的代码。相反,你必须在你的视图持有者手动处理。

你可以做的第一件事就是声明你的项目视图点击,在`ViewHolder构造:

公共ViewHolder(查看ItemView控件){ 超(ItemView控件);

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

// ... 

}

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