给出了以下层列表的XML代码:
<layer-list>
<item>
<shape android:shape="rectangle" >
<solid android:color="@color/my_color_a" />
</shape>
</item>
<item android:left="5dp">
<shape android:shape="rectangle" >
<solid android:color="@color/my_color_b" />
</shape>
</item>
</layer-list>
为了动态地做一些事情,我需要以编程方式将此代码重新构建为LayerDrawable类。此代码存在:
ShapeDrawable layer0 = new ShapeDrawable(new RectShape());
ShapeDrawable layer1 = new ShapeDrawable(new RectShape());
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] {layer0, layer1});
如何将android:left="5dp"
翻译成Java代码?此属性没有setter。
尝试setLayerInset(layer, leftOffset, topOffset, rightOffset, bottomOffset)
有关更多帮助,请参阅LayerDrawable文档。