1、摘要android
今天跟你們主要來介紹一下DeviceOne中的do_linearlayout這個佈局,在DeviceOne開發中,do_linearlayout這個佈局是至關重要。ios
如今給你們來總結一下。windows
2、基本的總結函數
咱們來看下這個linearlayout,作過原生開發的同窗(android或者ios或者windows)可能對這個單詞比較熟悉,沒錯,這個linearlayout在Deviceone中所要實現的效果跟原生裏面是徹底同樣。佈局
linearlayout這個佈局有兩種方式,一個是vertical(垂直佈局),一個是horizontal(水平佈局)。ui
vertical(垂直佈局):就是在這個佈局裏面的全部組件都是按照垂直的方式來排列的,也就是說,這個佈局裏面你在設置裏面組件的x,y座標是沒有用的。舉例:對象
從上圖咱們能夠看出,在這個垂直佈局裏面,我放了一個button1,那麼我在add一個button2的時候,我不須要去設置他的x,y座標,他會直接放到button1下面的。這就是這個垂直佈局的特性,並且咱們能夠將linearlayout的高度設置-1,會根據裏面的組件大小來自動適應。blog
horizontal(水平佈局):水平佈局正好跟上面的垂直佈局相反,我想就不用多作解釋了。開發
3、示例代碼io
var nf = sm("do_Notification");
var add = ui("addLinearLayout");
var linearlayout = ui("do_LinearLayout_1");
var i = 0;
add.on("touch", function() {
// 插入到「第二個組件」下
// add函數返回是新加ui的地址,
// add 的參數1是表示加進來的ui在index.ui裏的惟一標示,必須和index.ui其餘view的id不同
var newui = linearlayout.add("added_ui_id" + i, "source://view/test.ui",
"do_Button_1");
// ui("added_ui_id" + i)===ui(newui)
// label是新加進去來的ui文件裏的一個子view,能夠經過這種方式獲取到子view的對象
var label = ui(newui + ".do_Label_1");
label.text = "我是add進來的" + i;
newui = ui("added_ui_id" + i);
newui.width = newui.width + 10 * i;
i++;
});
4、實際用途
經過上面的分析,我想你們可能都知道該在什麼地方來使用這個佈局了。
例如:在某個App頁面須要動態增長一些組件的時候,就可使用這個組件了。