繁体   English   中英

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

[英]how to highlight the selected item in the menu on the navigation bar drawer

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

我怎样才能做到这一点 ?

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

请帮忙

谢谢。

这是我使用的代码

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

        }
    });

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

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

公共ViewHolder(查看itemView){超级(itemView);

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

// ...

}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM