Change <layer-item> items by Java code

前端 未结 3 1588
谎友^
谎友^ 2021-01-12 17:30

I have the following XML:





        
3条回答
  •  生来不讨喜
    2021-01-12 17:50

    Assuming that you want to have access to them through Java code after they are loaded as a Drawable in your app, you should be able to do something like the following:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        final LayerDrawable ld = (LayerDrawable) getResources().getDrawable(R.drawable.my_drawable);
        final ClipDrawable d1 = (ClipDrawable) ld.findDrawableByLayerId(R.id.customPlayerProgress);
        final ClipDrawable d2 = (ClipDrawable) ld.findDrawableByLayerId(R.id.customPlayerProgressSecondary);
    
        /* modify ld, d1 and d2 by calling their methods here */
    }
    

    Also look at this for some more ideas.

提交回复
热议问题