0
Следующий XML-код из послойного списка IST Дано:Android LayerDrawable: Как программно установить координаты слоя?
<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-код? Для этого свойства не существует.
У вас есть метод 'setLayerInset()' класса 'LayerDrawable'. – Luksprog
Да, но используя эту функцию, значения применяются для всех слоев, а не только для одного, определенного. – EightBitBoy
try 'setLayerInset (слой, leftOffset, topOffset, rightOffset, bottomOffset)' –