Клуб API Карт

Кнопка со своим стилем(jsapi 2.x)

Пост в архиве.

Добрый день.

Как создать control.Button со своим стилем(Нужно сменить цвет фона кнопки)?

Я не понимаю как пользоваться этой документацией :-(
Если вы знаете как сделать то что мне нужно, пожалуйста расскажите еще и как вы до этого додумались. Замучался безрезультатно рыться в доках...


Зараннее спасибо. :-)

 

 

 

 

9 комментариев

я бы так не делал

почему?

я на хабре отписал.

Суть в том что наши лайауты "чистят" своего парента.

т.е. чтобы было все хорошо нужно поменять

 

this.layout.setParentElement(map.panes.get('controls').getElement());

 

 на

 

this.layout.setParentElement(parent.getChildElement());

на

this
.layout.setParentElement(parent.getChildElement(this));

те мы вежливо представляемся.
Если по какой либо причине контрол потом покинет родителя - родитель сам эту ноду грохнет.

Это  сделать и легко и сложно.

1. Требуется переопределить в опциях кнопки свойство layout - туда можно все что угодно поставить

2. Можно подсмотреть как сделана наша кнопка, сдублировать классы себе, отфотопопить фон

3. иконка и текст кнопки сидят в "опции" contentLayout, который сидит в рамочке оформления пункта 1. Если он вам не нужен - можно его в .1 не включать и вообще забыть про него.

Дмитрий Сухоносов
28 января 2016, 04:13
Судя по документации у кнопки нет нету свойства layout
http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/control.Button.xml

Документации опции не наследует.

Узнать что она там есть иногда получается очень сложно - приходится копать примеры.

В общем layout у любого контрола есть