Is toolbar's logo icon clickable?

后端 未结 3 1196
既然无缘
既然无缘 2020-12-19 06:27

i have used toolbar so now i want to apply click event over logo icon how can i get this event?

here is some coding stuff that i have done

Toolbar to         


        
3条回答
  •  误落风尘
    2020-12-19 06:52

    Long-click event behavior for the appcompat:V7 ActionBar's logo view (ImageView)

        ActionBar actionBar = getSupportActionBar();
        actionBar.setLogo(R.drawable.logo_vjet);
        actionBar.setDisplayShowTitleEnabled(false);
        actionBar.setDisplayShowHomeEnabled(true);
        actionBar.setDisplayUseLogoEnabled(true);
        //find ActionBar View(ToolBar)
        View view = getWindow().getDecorView().findViewById(android.support.v7.appcompat.R.id.action_bar);
        if(view != null && view instanceof Toolbar){
            try {
                //find ImageView mLogoView; in Toolbar using reflect
                Field logoView = view.getClass().getDeclaredField("mLogoView");
                logoView.setAccessible(true);
                ImageView logoImageVIew = (ImageView) logoView.get(view);
                if(logoImageVIew != null){
                    logoImageVIew.setOnLongClickListener(new View.OnLongClickListener() {
                        @Override
                        public boolean onLongClick(View v) {
                            //do something
                            return false;
                        }
                    });
                }
            } catch (NoSuchFieldException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
    

    tested only android 7.0

提交回复
热议问题