Java Android LayerDrawable:如何以编程方式设置图层坐标?
给出了图层列表的以下XML代码:Java Android LayerDrawable:如何以编程方式设置图层坐标?,java,android,Java,Android,给出了图层列表的以下XML代码: <layer-list> <item> <shape android:shape="rectangle" > <solid android:color="@color/my_color_a" /> </shape> </item> <item android:left="5dp"> &
<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>
如何将android:left=“5dp”翻译成Java代码?此属性没有设置程序。请尝试设置层设置(层、左偏移、拓扑偏移、右偏移、下偏移)
请参阅以获取更多帮助。您有
LayerDrawable
类的setLayerSet()
方法。是的,但使用此函数,值适用于所有层,而不仅仅是单个特定层。请尝试setLayerSet(层、左偏移、topOffset、右偏移、底部偏移)
啊,它可以工作!我没有注意到第一个参数选择了图层。感谢@Luksprog指出正确的函数;谢谢Saga Pilkhwal让我亲自做facepalm!
ShapeDrawable layer0 = new ShapeDrawable(new RectShape());
ShapeDrawable layer1 = new ShapeDrawable(new RectShape());
LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] {layer0, layer1});