關注(mjw-java)——不一樣的技術分享,不一樣的學習體驗,跟威哥一起學Java,你一定可以!每天早上六點半,我們不見不散。
威哥推薦:騰訊課堂免費直播課來襲:Android項目實戰課開課,詳情請猛戳【閱讀原文】免費報名。
1.px像素如何轉為dip設備獨立像素
由於Android的設備解析度眾多,目前主流的為xhdpi,而很多老的設備為hdpi甚至低端的wvga,對於兼容性來說使用dip無非是比較方便的,由於他和解析度無關和屏幕的密度大小有關,所以推薦使用。
2. Android中動態改變ImageView大小
在layout.xml文件中定義了ImageView的絕對大小後,無法動態修改以後的大小顯示,其實Android平臺在設計UI控制項時考慮到這個問題,為了適應不同的Drawable可以通過在xml的相關ImageView中加入android:scaleType="fitXY" 這行即可,但因為使用了縮放可能會造成當前UI有所變形。使用的前提是限制ImageView所在的層,可以使用一個內嵌的方法限制顯示。
3.如何判斷Android手機當前是否聯網?
如果開發一個網絡應用的程序,首先考慮是否接入網絡,在Android手機中判斷是否聯網可以通過 ConnectivityManager 類的isAvailable()方法判斷,首先獲取網絡通訊類的實例 ConnectivityManager cwjManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);,使用cwjManager.getActiveNetworkInfo().isAvailable();來返回是否有效,如果為True則表示當前Android手機已經聯網,可能是WiFi或GPRS、HSDPA等等,具體的可以通過ConnectivityManager 類的getActiveNetworkInfo() 方法判斷詳細的接入方式,需要注意的是有關調用需要加入<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>這個權限,提醒大家在真機上Market和Browser程序都使用了這個方法,來判斷是否繼續,同時在一些網絡超時的時候也可以檢查下網絡連接是否存在,以免浪費手機上的電力資源。
4. Drawable、Bitmap、Canvas和Paint的關係
很多開發者剛剛開始學習Android平臺,對於Drawable、Bitmap、Canvas和Paint它們之間的概念不是很清楚,其實它們除了Drawable外早在Sun的J2ME中就已經出現了,但是在Android平臺中,Bitmap、Canvas相關的都有所變化。 首先讓我們理解下Android平臺中的顯示類是View,但是還提供了底層圖形類android.graphics,今天所說的這些均為graphics底層圖形接口。 Bitmap - 稱作位圖,一般位圖的文件格式後綴為bmp,當然編碼器也有很多如RGB565、RGB888。作為一種逐像素的顯示對象執行效率高,但是缺點也很明顯存儲效率低。我們理解為一種存儲對象比較好。 Drawable - 作為Android平下通用的圖形對象,它可以裝載常用格式的圖像,比如GIF、PNG、JPG,當然也支持BMP,當然還提供一些高級的可視化對象,比如漸變、圖形等。 Canvas - 名為畫布,我們可以看作是一種處理過程,使用各種方法來管理Bitmap、GL或者Path路徑,同時它可以配合Matrix矩陣類給圖像做旋轉、縮放等操作,同時Canvas類還提供了裁剪、選取等操作。 Paint - 我們可以把它看做一個畫圖工具,比如畫筆、畫刷。他管理了每個畫圖工具的字體、顏色、樣式。 如果涉及一些Android遊戲開發、顯示特效可以通過這些底層圖形類來高效實現自己的應用。
5. Android的ImageButton問題
對Android提供的ImageButton有個疑問,當顯示Drawable圖片時就不會再顯示文字了,其實解決的方法有兩種,第一種就是圖片中就寫入文字,但是這樣解決會增加程序體積,同時硬編碼方式會影響多國語言的發布。第二種解決方法很簡單,通過分析可以看到ImageButton的layout,我們可以直接直接繼承,添加一個TextView,對齊方式為右側即可實現ImageButton支持文字右側顯示。
溫馨提醒:
最後,如果你是一位不能自己自學的初學者,想改變生活的人,我想我可以幫助到你。請在公眾號裡回覆:
QQ:XXXXXX 我要報名
===========END===========
聯繫威哥:
文章投稿:【投稿】+文章標題
建議反饋:【建議】+具體事宜
郵件發送至:finally_m@qq.com
我的微博:http://weibo.com/jianweima
QQ:1791705739
想要在電腦上收藏文章的朋友,可以使用右上角的菜單選擇用瀏覽器打開,然後複製網址發送到電腦QQ就可以啦!
祝您學習愉快