在之前的例子中,程式中的控制項都是通過main.xml檔案描述名稱和特點,在oncreate的時候進行資源讀取,並且進行初始化。本文介紹一種布局方法,不需xml檔案,直接在程式初始化時進行描述。
首先定義 private final int wc = linearlayout.layoutparams.wrap_content;
linearlayout.layoutparams有兩個引數:
fill_parent,檢視和其父親一樣大
wrap_content,檢視大到能包括其內容
既然我們沒有main.xml,我們就不能使用 setcontentview(r.layout.main); ,必須在應用程式初始化之時,用**描述介面:
linearlayout layout = new linearlayout(this);
layout.setorientation(linearlayout.vertical); 該語句設定垂直布局。
初始化layout之後,需要向其新增控制項:
button btn = new button(this);
btn.settext("ok");
btn.setonclicklistener(listener);
//新建乙個按鈕
linearlayout.layoutparams param = new linearlayout.layoutparams(wc, wc);
//它的constructor原型為:linearlayout.layoutparams.layoutparams(int width, int height)
layout.addview(btn, param);
//新增按鈕至layout
新增第二個按鈕至layout
button btn2 = new button(this);
btn2.settext("exit");
btn2.setonclicklistener(listener2);
layout.addview(btn2, param);
接下來,我們再新建乙個out_layout,將原來的layout放置在新建的out_layout之中。
linearlayout out_layout = new linearlayout(this);
out_layout.setorientation(linearlayout.horizontal);//在該層上的控制項水平分布
新建第三個按鈕:
button btn3 = new button(this);
btn3.settext("cancel");
btn3.settextcolor(color.white);
btn3.setbackgroundcolor(color.red);
btn3.setonclicklistener(listener3);
將第三個按鈕和layout併排放置:
out_layout.addview(layout, param);
out_layout.addview(btn3, param);
最後,該activity採用out_layout作為其內容顯示:
setcontentview(out_layout);
按鈕中事件不再贅述,執行結果如下:
可以看到,由於layout在out_layout中執行wc的引數,即面積可以包括其內容,夠用即可。所以cancel按鈕和layout並列,將兩個按鈕擠到介面的最邊上。
參考自smego,http://www.aidiji.com/viewtopic.php?f=27&t=134
android ophone中本機號碼的獲取
首先我們來明確幾個概念 sim卡儲存的資料可分為四類 第一類是固定存放的資料。這類資料在移動 機被 之前由 sim卡中心寫入,包括國際移動使用者識別號 imsi 鑑權金鑰 ki 鑑權和加密演算法等等。第二類是暫時存放的有關網路的資料。如位置區域識別碼 lai 移動使用者暫時識別碼 tmsi 禁止接入...
Android Ophone應用程式數字簽名
版權申明 前兩天搞了個應用到mm上去,結果與測試通不過,原因是 應用程式證書有效期不足1年 結果才發現,上傳的應用程式忘記簽名了。為android ophone應用程式簽名步驟 1.確保電腦上安裝了jdk,因為我們將使用jdk自帶的建立和管理數字證書的工具keytool。在命令列下輸入如下命令 ke...
學習學習再學習
如果乙個技能足夠複雜 比如從零學程式設計 那就不要指望讀完一本書就可以打天下。多買幾本書同類的書 因為每個作者的出發點是不一樣的,哪怕對同乙個概念都有不同的解釋說明。理解知識的重要過程之一就如牛的反芻一樣,要嚼一遍 嚥下去 再吐出來 再嚼一遍 再嚥下去 所以,既然一本書可以讀幾遍,那麼同一話題多應該...