Notification Badge On Action Item Android

后端 未结 6 1075
感动是毒
感动是毒 2020-12-04 06:06

I wana add a notification badge on the cart image placed in action bar and manipulate it programmatically. Any Help?

6条回答
  •  情歌与酒
    2020-12-04 06:21

        **Create a custom_layout**
    
        ////////
    
        
        
    
            
    
            
    
        
    
        //////
    
        **Create badge_background**
        /////
    
        
        
    
            
            
    
        
    
        /////
        **Create main_menu**
    
    ////
        
    
            
    
        
    
    /////
        **In MainActivty.java**
    
             int count = 0;
            TextView textCartItemCount;
    
    /// build a method inside your MainActivity ////
    
         @Override
            public boolean onCreateOptionsMenu(Menu menu) {
                getMenuInflater().inflate(R.menu.main_menu, menu);
    
                final MenuItem menuItem = menu.findItem(R.id.action_cart);
    
                View actionView = MenuItemCompat.getActionView(menuItem);
                textCartItemCount = (TextView) actionView.findViewById(R.id.cart_badge);
    
                setupBadge();
    
                actionView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        onOptionsItemSelected(menuItem);
                    }
                });
    
                return true;
            }
    
            @Override
            public boolean onOptionsItemSelected(MenuItem item) {
    
                switch (item.getItemId()) {
    
                    case R.id.action_cart: {
                        // Do something
                        return true;
                    }
                }
                return super.onOptionsItemSelected(item);
            }
    
            private void setupBadge() {
        ///make a button in MainActivty layout
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        if (count >= 0) {
                            textCartItemCount.setVisibility(View.VISIBLE);
                            textCartItemCount.setText(String.valueOf(++count));
                        } else {
                            textCartItemCount.setVisibility(View.GONE);`enter code here`
                        }
    
                    }
                });
    

提交回复
热议问题