<drawable-list id="BgFill" x="0" y="0" foreground="Gfx.COLOR_LT_GRAY">
<shape type="rectangle" width="fill" height="fill" />
</drawable-list>
How I can set color from code like findDrawableById("BgFill").setColor(myColor);?
var bgfill = findDrawableById("BgFill");
bgfill[0].setColor(myColor);
class Background extends Ui.Drawable
{
hidden var _M_color;
function initialize(params) {
Drawable.initialize(params);
_M_color = params[:color];
if (_M_color == null) {
_M_color = Gfx.COLOR_BLACK;
}
}
function draw(dc) {
dc.setColor(_M_color, _M_color);
dc.clear();
}
function setColor(color) {
_M_color = color;
}
function getColor() {
return _M_color;
}
}
<layout id="MyLayout">
<drawable id="BgFill" class="Background">
<param name="color">Gfx.COLOR_RED</param>
</drawable>
<!-- other drawables go here -->
</layout>
<drawable-list id="BgFill" x="0" y="0" foreground="Gfx.COLOR_LT_GRAY">
<shape type="rectangle" width="fill" height="fill" />
</drawable-list>
class BgFill extends Ui.Drawable
{
function initialize(params) {
Drawable.initialize();
}
function draw(dc) {
var pX = 0;
var pY = 0;
var pWidth = dc.getWidth();
var pHeight = dc.getHeight();
drawComplex(dc,pX,pY,pWidth,pHeight);
}
function drawComplex(dc, pX, pY, pWidth, pHeight) {
dc.setColor(Gfx.COLOR_LT_GRAY,Gfx.COLOR_TRANSPARENT);
dc.fillRectangle(pX,pY,pWidth,pHeight);
}
}