Я новичок в Dart и Rikulo.Как изменить ширину представлений TextBox, используя Rikulo Anchor Layout
class NameView extends Section
{
View parentVu;
// the inputs
DropDownList titleDdl, suffixDdl;
TextBox firstNameTBox, middleNameTBox, lastNameTBox;
// the labels
TextView titleLbl, firstNameLbl, middleNameLbl, lastNameLbl, suffixLbl;
List<String> titles = [ 'Dr', 'Hon', 'Miss', 'Mr', 'Mrs', 'Prof', 'Sir' ];
List<String> suffixes = ['I', 'II', 'III', 'IV', 'Junior', 'Senior'];
NameView()
{
parentVu = new View()
..style.background = 'cyan'
..addToDocument();
titleLbl = new TextView('Title');
parentVu.addChild(titleLbl);
titleDdl = new DropDownList(model : new DefaultListModel(titles))
..profile.anchorView = titleLbl
..profile.location = 'east center';
parentVu.addChild(titleDdl);
firstNameLbl = new TextView('First')
..profile.anchorView = titleDdl
..profile.location = 'east center';
parentVu.addChild(firstNameLbl);
firstNameTBox = new TextBox(null, 'text')
..profile.anchorView = firstNameLbl
..profile.location = 'east center';
//..profile.width = 'flex';
parentVu.addChild(firstNameTBox);
}
Программа оказывает. Однако он не использует всю ширину браузера (FireFox). Я пробовал для TextBoxes profile.width = 'flex'
но он не работает.
Любая помощь приветствуется.
Здравствуйте tomyeh, спасибо за ответ. Приложение выполнено в Dartium, а не в Firefox. Как связать ParentVu с NameView. Я попытался использовать this.addChild (view), но он не работает. NameView - это представление. Я расширил раздел, чтобы получить преимущества idspace. Пожалуйста, рефакторинг моего примера, чтобы отразить изменения, которые вы считаете необходимыми. Thanks –
Всё зависит от меня. Если NameView является родительским, вам просто нужно вызвать this.addChild (parentVu) (и вы НЕ должны вызывать parentVU.addToDocument, поскольку он больше не является корневым представлением). Тогда NameView - это обычный вид. Пожалуйста, обратитесь к [здесь] (http://docs.rikulo.org/ui/latest/View_Development/Build_with_Composite_of_Views.html) –
Привет, Том, мне удалось создать ассоциацию, о которой вы говорили в своем ответе. Если я использую линейный макет, все работает отлично, а размер TextBox зависит от размера браузера. Я хотел бы, чтобы это было так же, как и мои эксперименты с компоновкой Якоря, поскольку это кажется более широко применимым. В вышеприведенном коде моего вопроса TextBox принимает свой размер по умолчанию с использованием используемого компоновки привязки. Если я раскомментирую строку, которая задает ширину макета ширины, размер TextBox значительно сокращается, и я не могу заставить его меняться в зависимости от размера браузера. Любая помощь приветствуется. Спасибо –