時(shí)間:2018-08-13 00:00:00 來源:信盈達(dá) 作者:信盈達(dá)
1.px像素如何轉(zhuǎn)為dip設(shè)備獨(dú)立像素
由于Android的設(shè)備分辨率眾多,目前主流的為xhdpi,而很多老的設(shè)備為hdpi甚至低端的wvga,對于兼容性來說使用dip無非是比較方便的,由于他和分辨率無關(guān)和屏幕的密度大小有關(guān),所以推薦使用。
2. Android中動態(tài)改變ImageView大小
在layout.xml文件中定義了ImageView的絕對大小后,無法動態(tài)修改以后的大小顯示,其實(shí)Android平臺在設(shè)計(jì)UI控件時(shí)考慮到這個(gè)問題,為了適應(yīng)不同的Drawable可以通過在xml的相關(guān)ImageView中加入android:scaleType="fitXY" 這行即可,但因?yàn)槭褂昧丝s放可能會造成當(dāng)前UI有所變形。使用的前提是限制ImageView所在的層,可以使用一個(gè)內(nèi)嵌的方法限制顯示。
3.如何判斷Android手機(jī)當(dāng)前是否聯(lián)網(wǎng)?
如果開發(fā)一個(gè)網(wǎng)絡(luò)應(yīng)用的程序,首先考慮是否接入網(wǎng)絡(luò),在Android手機(jī)中判斷是否聯(lián)網(wǎng)可以通過 ConnectivityManager 類的isAvailable()方法判斷,首先獲取網(wǎng)絡(luò)通訊類的實(shí)例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);,使用cwjManager.getActiveNetworkInfo().isAvailable();來返回是否有效,如果為True則表示當(dāng)前Android手機(jī)已經(jīng)聯(lián)網(wǎng),可能是WiFi或GPRS、HSDPA等等,具體的可以通過ConnectivityManager 類的getActiveNetworkInfo() 方法判斷詳細(xì)的接入方式,需要注意的是有關(guān)調(diào)用需要加入<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>這個(gè)權(quán)限,提醒大家在真機(jī)上Market和Browser程序都使用了這個(gè)方法,來判斷是否繼續(xù),同時(shí)在一些網(wǎng)絡(luò)超時(shí)的時(shí)候也可以檢查下網(wǎng)絡(luò)連接是否存在,以免浪費(fèi)手機(jī)上的電力資源。
4. Drawable、Bitmap、Canvas和Paint的關(guān)系
很多開發(fā)者剛剛開始學(xué)習(xí)Android平臺,對于Drawable、Bitmap、Canvas和Paint它們之間的概念不是很清楚,其實(shí)它們除了Drawable外早在Sun的J2ME中就已經(jīng)出現(xiàn)了,但是在Android平臺中,Bitmap、Canvas相關(guān)的都有所變化。
首先讓我們理解下Android平臺中的顯示類是View,但是還提供了底層圖形類android.graphics,今天所說的這些均為graphics底層圖形接口。
Bitmap - 稱作位圖,一般位圖的文件格式后綴為bmp,當(dāng)然編碼器也有很多如RGB565、RGB888。作為一種逐像素的顯示對象執(zhí)行效率高,但是缺點(diǎn)也很明顯存儲效率低。我們理解為一種存儲對象比較好。
Drawable - 作為Android平下通用的圖形對象,它可以裝載常用格式的圖像,比如GIF、PNG、JPG,當(dāng)然也支持BMP,當(dāng)然還提供一些高級的可視化對象,比如漸變、圖形等。
Canvas - 名為畫布,我們可以看作是一種處理過程,使用各種方法來管理Bitmap、GL或者Path路徑,同時(shí)它可以配合Matrix矩陣類給圖像做旋轉(zhuǎn)、縮放等操作,同時(shí)Canvas類還提供了裁剪、選取等操作。
Paint - 我們可以把它看做一個(gè)畫圖工具,比如畫筆、畫刷。他管理了每個(gè)畫圖工具的字體、顏色、樣式。
如果涉及一些Android游戲開發(fā)、顯示特效可以通過這些底層圖形類來高效實(shí)現(xiàn)自己的應(yīng)用。
5. Android的ImageButton問題
對Android提供的ImageButton有個(gè)疑問,當(dāng)顯示Drawable圖片時(shí)就不會再顯示文字了,其實(shí)解決的方法有兩種,第一種就是圖片中就寫入文字,但是這樣解決會增加程序體積,同時(shí)硬編碼方式會影響多國語言的發(fā)布。第二種解決方法很簡單,通過分析可以看到ImageButton的layout,我們可以直接直接繼承,添加一個(gè)TextView,對齊方式為右側(cè)即可實(shí)現(xiàn)ImageButton支持文字右側(cè)顯示。

信盈達(dá)2008年在深圳特區(qū)南山高新科技園成立。自成立至今近九年來專注為企業(yè)和個(gè)人提供高端方案設(shè)計(jì)、高端嵌入式/Android培訓(xùn)等服務(wù)。公司下設(shè)信盈達(dá)實(shí)訓(xùn)學(xué)院、信盈達(dá)研發(fā)中心、信盈達(dá)教學(xué)儀器三大業(yè)務(wù)板塊。九年來公司堅(jiān)持"技術(shù)領(lǐng)先、服務(wù)領(lǐng)先",以雄厚的實(shí)力和專業(yè)的品質(zhì)成為國內(nèi)唯一有實(shí)力從產(chǎn)品最底層研發(fā)到系統(tǒng)層開發(fā)的嵌入式實(shí)訓(xùn)、產(chǎn)品解決方案提供商。為中國IT行業(yè)提供最具價(jià)值的職業(yè)教育服務(wù)。專業(yè)培訓(xùn)嵌入式、物聯(lián)網(wǎng)、人工智能、Java、單片機(jī)等課程,想了解更多信息點(diǎn)擊立馬咨詢
免費(fèi)領(lǐng)取試聽卡
申請已經(jīng)提交
老師會馬上給您安排試聽課程!
申請出錯(cuò)了
您可以加老師QQ:914865590報(bào)名咨詢!