Ну ведь js в первую очередь для браузеров, остальное вторично. Автор дс адаптирует мне кажется с успехом. Там на форуме вначале есть тема, где предложения можно писать, если че стоящее, автор обратит внимание.
Ну лучше чем автор в статье я не смогу объяснить, если хочешь, давай пошагово разберем примеры (вначале статьи задача, разбор с пункта "2. Разбираем задачу". console.log(...) нужно заменять на alert(...))
Получилось у меня такая фигня. Расположил я кнопки для ввода в четыре ряда вида ×××× ×××× ×××× ×××× каждая кнопка отн. высотой 0.1. Ну и думаю- общая высота 0.4, можно оставшуюся юзать, 1-0.4=0.6. Все ок, но мне показали скрин, где кнопки не влезли. Оказалось, что не всегда кнопки имеют те размеры, которые укажешь, есть минимальные размеры, меньше которых кнопка не может быть отображена, и как-раз на том зкране высота 0.1 была меньше минимальной. Это можно проверить, создав функцию для демонстрации фактических размеров
function _sz(t, w, h) { var lay = app.CreateLayout("Linear"); lay.SetVisibility('Hide'); app.AddLayout(lay); var tmp = app.CreateButton(t?t:'', w?w:-1, h?h:-1); tmp.SetVisibility('Hide'); lay.AddChild(tmp); var obj = tmp.GetPosition(); app.RemoveLayout(lay); return obj; }
function OnStart() { var pos = _sz('', 0.05, 0.03); // тут я намеренно указал заниженные размеры alert('width: ' + pos['width'] + ', height: ' + pos['height'] ); }
вобщем, если есть сомнения, лучше заранее проверить и сохранить в переменную, и юзать ее, а не то, что задаешь