Programmatically change color of shape in layer list

后端 未结 4 2133
礼貌的吻别
礼貌的吻别 2020-12-28 14:24

How can I programmatically change the color (#000000) of a shape in a layer list?

Here is my layer list:



        
4条回答
  •  灰色年华
    2020-12-28 14:34

    
    
    
        
            
                
                
                
            
        
    
        
            
                
                
                
            
        
    
        
            
                
                
            
        
    
    

    Find your view

    LayerDrawable layerDrawable = (LayerDrawable) yourView.getBackground();
    GradientDrawable outer = (GradientDrawable) layerDrawable.findDrawableByLayerId(R.id.outer);
    GradientDrawable middle = (GradientDrawable) layerDrawable.findDrawableByLayerId(R.id.middle);
    GradientDrawable inner = (GradientDrawable) layerDrawable.findDrawableByLayerId(R.id.inner);
    

    Set color

    outer.setColor(Color.parseColor(#000000));
    inner.setColor(Color.parseColor(#FFFFFF));
    

提交回复
热议问题