【摘 要】本文介紹了Android移動(dòng)學(xué)習(xí)系統(tǒng)中屏幕自適應(yīng)的實(shí)現(xiàn),通過在外層嵌入一個(gè)適應(yīng)手機(jī)分辨率布局和內(nèi)層布局嵌套實(shí)現(xiàn)屏幕布局自適應(yīng),提供了ldpi、mdpi、hdpi、xhdpi四套不用分辨率的圖片資源文件,可以適用任何手機(jī)設(shè)備的顯示,并通過一個(gè)Android系統(tǒng)界面實(shí)現(xiàn)進(jìn)行了效果演示。
【關(guān)鍵詞】屏幕自適應(yīng) 圖片自適應(yīng) 嵌套布局
1 引言
近年來,Android憑借其開發(fā)性成為最熱門的移動(dòng)終端操作系統(tǒng)之一。隨著硬件性能逐步提升、無線網(wǎng)絡(luò)不斷普及,基于Android平臺(tái)的系統(tǒng)開發(fā)與移植成為一個(gè)極富發(fā)展前景的領(lǐng)域。
移動(dòng)學(xué)習(xí)在數(shù)字化學(xué)習(xí)的基礎(chǔ)上通過有效結(jié)合移動(dòng)計(jì)算技術(shù)帶給學(xué)習(xí)者隨時(shí)隨地學(xué)習(xí)的全新感受。移動(dòng)學(xué)習(xí)被認(rèn)為是一種未來的學(xué)習(xí)模式,或者說是未來學(xué)習(xí)不可缺少的一種學(xué)習(xí)模式,移動(dòng)學(xué)習(xí)現(xiàn)今已是教育行業(yè)發(fā)展的必然應(yīng)用趨勢(shì)。移動(dòng)學(xué)習(xí)系統(tǒng)提供了靈活多變的學(xué)習(xí)方式,無論在出差路上,還是在機(jī)場(chǎng)車站;無論是等候間歇,還是片斷時(shí)間,隨時(shí)隨地,打開你的智能手機(jī)和平板電腦登錄中信移動(dòng)學(xué)習(xí)平臺(tái),都可以方便瀏覽最新資訊、閱讀新書、學(xué)習(xí)課程。而且提供了先進(jìn)高效的學(xué)習(xí)理念,中信移動(dòng)學(xué)習(xí)的課程系列采用了最新的LPM學(xué)習(xí)過程管理,將課程劃分成精心提煉的章節(jié),分段按時(shí)推送,輔以大量學(xué)習(xí)補(bǔ)充資料,并在過程中增加了許多分享互動(dòng)環(huán)節(jié),促使學(xué)員結(jié)合實(shí)際工作進(jìn)行思考,加強(qiáng)記憶的同時(shí)更提升學(xué)習(xí)效果。移動(dòng)學(xué)習(xí)系統(tǒng)還掌控了學(xué)習(xí)效果,通過對(duì)學(xué)員的學(xué)習(xí)資料下載、經(jīng)驗(yàn)分享、登錄次數(shù)等關(guān)鍵數(shù)據(jù)統(tǒng)計(jì),可以了解到學(xué)員的學(xué)習(xí)習(xí)慣及學(xué)習(xí)主動(dòng)性,企業(yè)的管理層可以憑借此對(duì)學(xué)員學(xué)習(xí)效果進(jìn)行有效跟進(jìn)和掌握。目前移動(dòng)學(xué)習(xí)系統(tǒng)已經(jīng)越來越被學(xué)習(xí)者關(guān)注。
2 Android界面布局
2.1 android的基本布局
Android基本布局共5種,如圖1所示。線性布局由LinearLayout類來代表,線性布局分為水平和垂直的順序排列子元素,每個(gè)子元素都位于前一個(gè)元素之后。表格布局由TableLayout所代表,TableLayout繼承了LinearLayout,因此它的本質(zhì)依然是線性布局,適用于N行M列的布局格式。
圖1
2.2 布局的嵌套使用
在開發(fā)一些復(fù)雜界面時(shí),單一布局無法滿足需求。此時(shí)就需要用到嵌套布局。同時(shí)為了達(dá)到某種效果,需要局部的頁面能夠動(dòng)態(tài)的變化,最典型的就是在一個(gè)頁面中使用多個(gè)ViewPager。當(dāng)這些ViewPager所在的頁面也是動(dòng)態(tài)變化的時(shí)候,就需要實(shí)現(xiàn)多層LinearLayout的嵌套。比如一個(gè)標(biāo)簽頁面,標(biāo)題欄是靜態(tài)的,內(nèi)容部分是動(dòng)態(tài)變化的,同時(shí)每個(gè)內(nèi)容中又需要?jiǎng)討B(tài)變化,代碼實(shí)現(xiàn)時(shí)就需要迭代循環(huán)添加來實(shí)現(xiàn)。Android可以通過五種基本布局的嵌套來實(shí)現(xiàn)復(fù)雜界面布局。
3 界面布局自適應(yīng)設(shè)計(jì)原理
首先根據(jù)需求確定根布局,可以使用LinearLayout布局或者RelativeLayout布局,設(shè)置layout_width和layout_height均為匹配手機(jī)分辨率match_parent。再則使用RelativeLayout布局來設(shè)計(jì)標(biāo)題欄,設(shè)置其寬layout_width為match_parent,而layout_height為定高45dip;然后,在內(nèi)容板塊添加子元素,此時(shí)子元素將會(huì)按順序排列,在根布局的子元素中添加新的布局,實(shí)現(xiàn)布局嵌套。在每個(gè)根布局的子元素布局中,設(shè)置其寬layout_width為match_parent,而其layout_height為根據(jù)內(nèi)容填充wrap_content,這樣就可以實(shí)現(xiàn)布局的多重布局。
對(duì)于添加的布局LinearLayout或者RelativeLayout,設(shè)置為layout_width=“match_parent”,這樣主要來實(shí)現(xiàn)布局的自適應(yīng)布局大小的效果。
對(duì)于添加的圖片資源,通過切圖事,考慮四種不同大小的分辨率ldpi、mdpi、hdpi、xhdpi的圖片資源,分別存放在android工程文件下的res文件下的不用資源包,當(dāng)手機(jī)分辨率超出了圖片分辨率適應(yīng)范圍時(shí),通過文件自動(dòng)選擇到相應(yīng)分辨率適應(yīng)范圍圖片資源文件夾,選擇相應(yīng)的圖片對(duì)應(yīng)顯示。
4 Android移動(dòng)學(xué)習(xí)系統(tǒng)中界面布局自適應(yīng)實(shí)現(xiàn)
4.1 界面布局自適應(yīng)
設(shè)置根布局為L(zhǎng)inearLayout,設(shè)置layout_width和layout_height均為匹配父框架match_parent,其orientation屬性為“vertical”,首先加入FrameLayout幀布局,在其子元素中加入ScrollView滾動(dòng)視圖,設(shè)置它們的layout_width=\"match_parent\"和layout_height=\"match_parent\",那么在ScrollView滾動(dòng)視圖中添加的子元素布局,來填充頁面內(nèi)容。
5 結(jié)束語
在Android移動(dòng)學(xué)習(xí)系統(tǒng)開發(fā)中,通過屏幕自適應(yīng)實(shí)現(xiàn)和圖片自適應(yīng)實(shí)現(xiàn),可以減少界面布局修改和設(shè)計(jì)的工作量,提高了開發(fā)效率和系統(tǒng)執(zhí)行效率。未來Android手機(jī)分辨率將會(huì)越來越多樣,屏幕自適應(yīng)在Android手機(jī)應(yīng)用系統(tǒng)中也將具有推廣價(jià)值。
【參考文獻(xiàn)】
[1]朱桂英.Android移動(dòng)開發(fā)技術(shù)叢書[M].北京:電子工業(yè)出版社.2012.
[2]譚忠兵.蘇斯?fàn)N.基于Android的多功能文件管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦與信息技術(shù).2012.
[3]楊豐盛.Android應(yīng)用開發(fā)解密[M].背景:機(jī)械工業(yè)出版社.2003.