資源描述:
《智能終端軟件設(shè)計(jì)及開發(fā)實(shí)驗(yàn)二》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院學(xué)生實(shí)驗(yàn)報(bào)告(2013—2014學(xué)年第1學(xué)期)課程名稱:智能終端軟件設(shè)計(jì)及開發(fā)開課實(shí)驗(yàn)室:信自樓444機(jī)房2013年11月4日年級(jí)、專業(yè)、班計(jì)科101學(xué)號(hào)201010803116姓名李力成績(jī)實(shí)驗(yàn)項(xiàng)目名稱Android用戶界面設(shè)計(jì)與開發(fā)指導(dǎo)教師游進(jìn)國(guó)教師評(píng)語(yǔ)該同學(xué)是否了解實(shí)驗(yàn)原理:A.了解□B.基本了解□C.不了解□該同學(xué)的實(shí)驗(yàn)?zāi)芰Γ篈.強(qiáng)□B.中等□C.差□該同學(xué)的實(shí)驗(yàn)是否達(dá)到要求:A.達(dá)到□B.基本達(dá)到□C.未達(dá)到□實(shí)驗(yàn)報(bào)告是否規(guī)范:A.規(guī)范□B.基本規(guī)范□C.不規(guī)范□實(shí)驗(yàn)過(guò)程是
2、否詳細(xì)記錄:A.詳細(xì)□B.一般□C.沒(méi)有□教師簽名:年月日一、上機(jī)目的及內(nèi)容1.上機(jī)內(nèi)容Android用戶界面設(shè)計(jì)與開發(fā)。請(qǐng)參考下圖中界面控件的擺放位置,分別使用線性布局、相對(duì)布局和絕對(duì)布局實(shí)現(xiàn)用戶界面,并對(duì)比各種布局實(shí)現(xiàn)的復(fù)雜程度和對(duì)不同屏幕尺寸的適應(yīng)能力。然后選擇一種布局方式,在程序中添加4個(gè)按鈕的事件處理函數(shù),使用LogCat將捕獲的按鈕事件顯示在Eclipse的控制臺(tái)中。2.上機(jī)目的(1)學(xué)習(xí)并熟悉Android用戶界面;(2)能夠基于Android平臺(tái)初步進(jìn)行用戶界面設(shè)計(jì)與開發(fā)。-12-二、實(shí)驗(yàn)原理及基
3、本技術(shù)路線圖(方框原理圖或程序流程圖)2.1使用Eclipse建立一個(gè)Android程序;2.2分別使用線性布局、相對(duì)布局和絕對(duì)布局實(shí)現(xiàn)用戶界面進(jìn)行界面布局;2.3選擇一種布局方式,在程序中添加4個(gè)按鈕的事件處理函數(shù),使用LogCat將捕獲的按鈕事件顯示在Eclipse的控制臺(tái)中。2.4線性布局線性布局是最簡(jiǎn)單,Android開發(fā)者使用得最多的布局類型之一,開發(fā)者用它來(lái)組織你們的用戶界面上的控件。線性布局的作用就像它的名字一樣:它將控件組織在一個(gè)垂直或水平的形式。當(dāng)布局方向設(shè)置為垂直時(shí),它里面的所有子控件被組織在
4、同一列中;當(dāng)布局方向設(shè)置為水平時(shí),所有子控件被組織在一行中。(1)線性布局的重要特性和屬性◆方向?qū)傩裕ū仨殻?,取值可以是vertical或horizontal(類:LinearLayout)◆對(duì)齊屬性(可選),控制子控件在線性布局中如何排列和顯示(類:LinearLayout)◆layout_weight屬性(可選,應(yīng)用到每個(gè)子控件)指定每個(gè)子控件在父級(jí)線性布局中的相對(duì)重要性(類:LinearLayout.LayoutParams)此外,通用的ViewGroup-style屬性也應(yīng)用到線性布局。這些屬性包括:◆通
5、用布局參數(shù)如layout_height(必須)和layout_width(必須)(類:ViewGroup.LayoutParams)◆邊距布局參數(shù)如margin_top,margin_left,margin_right和margin_bottom(類:ViewGroup.MarginLayoutParams)◆布局參數(shù)如layout_height和layout_width(類:ViewGroup.LayoutParams)(2)給子控件賦權(quán)絕大部分線性布局的屬性都是自明性的。然而layout_weight屬性需要
6、一些額外的討論。與其它線性布局屬性不同,其它屬性應(yīng)用在線性布局視圖本身,而這個(gè)屬性是應(yīng)用在它的子控件上的。權(quán)值本身應(yīng)該是一個(gè)數(shù)字(比如0.5,0.25,0.10,0.10,0.05),如果你把所有子控件的權(quán)值加起來(lái)等于1(100%)。子控件的權(quán)值控件它在父線性布局中有多“重要”或者留給其多少“空間”。這一點(diǎn)最好通過(guò)例子來(lái)說(shuō)明。讓我們回到我們前面用的彩虹線性布局。為了允許所有子控件相同地“拉伸”填充線性布局,不管屏幕的大小,我們使用layout_weight來(lái)對(duì)每個(gè)TextView賦予相對(duì)權(quán)值。因?yàn)橛?種我們想賦相
7、同權(quán)值的顏色,我們將1除以7大約得到0.143.然而,既然我們想要權(quán)值之和最后為1,因此5個(gè)控件權(quán)值設(shè)為0.14,另外兩個(gè)為0.15——一個(gè)微小的區(qū)別使得總和剛剛好為1,但是這對(duì)于第一個(gè)和最后一個(gè)控件來(lái)說(shuō)還是很明顯的。當(dāng)屏幕上有足夠空間來(lái)正確的展示所有控件的時(shí)候,這個(gè)權(quán)值技巧很有效。那就是說(shuō),當(dāng)空間很緊的時(shí)候,權(quán)值屬性可能會(huì)被其它因素覆蓋,比如視圖裁剪或者在TextView下試圖不環(huán)繞文本。當(dāng)我們改變r(jià)ainbow.xml布局文件以包含相似水平布局(layout_height還是設(shè)置為fill_parent)的時(shí)
8、候,這變得很明顯。Android程序用戶界面使用布局來(lái)定義,而線性布局是最基本的布局類型之一。線性布局允許子控件被組織在一行或一行(水平)或一列(豎直)上。子控件的位置可以使用對(duì)齊和權(quán)值屬性進(jìn)一步設(shè)置。2.5相對(duì)布局-12-除了將控件顯示在一行或一列的線性布局,相對(duì)布局也是Android用戶界面設(shè)計(jì)使用得很普遍的布局類型。和其它布局很相似,相對(duì)布局可以通過(guò)XML布局資源來(lái)