編輯:關於Android編程
1 基本設置
1.1 AndroidManifest.xml設置
在<manifest>中添加子元素<supports-screens android:largeScreens="true"android:normalScreens="true" android:anyDensity="true"android:smallScreens="true"></supports-screens>
android:anyDensity="true"時,應用程序安裝在不同密度的終端上時,程序會分別加載xxhdpi、xhdpi、hdpi、mdpi、ldpi文件夾中的資源。 相反,如果設為false,即使在文件夾下擁有相同資源,應用不會自動地去相應文件夾下尋找資源:
1) 如果drawable-hdpi、drawable-mdpi、drawable-ldpi三個文件夾中有同一張圖片資源的不同密度表示,那麼系統會去加載drawable_mdpi文件夾中的資源;
2) 如果drawable-hpdi中有高密度圖片,其它兩個文件夾中沒有對應圖片資源,那麼系統會去加載drawable-hdpi中的資源,其他同理;
3) 如果drawable-hdpi,drawable-mdpi中有圖片資源,drawable-ldpi中沒有,系統會加載drawable-mdpi中的資源,其他同理,使用最接近的密度級別。
1.2 橫屏豎屏目錄區分
1) drawable
a) drawable-hdpi該圖片即適用於橫屏,也適用於豎屏;
b) drawable-land-hdpi,當屏幕為橫屏,且為高密度時,加載此文件夾的資源;
c) drawable-port-hdpi,當屏幕為豎屏,且為高密度時,加載此文件夾中的資源。其他同理。
2) layout
在res目錄下建立layout-port和layout-land兩個目錄,裡面分別放置豎屏和橫屏兩種布局文件,以適應對橫屏豎屏自動切換。
2 多屏幕適配的4條黃金原則
1) 在layout文件中設置控件尺寸時應采用fill_parent、wrap_content、match_parent和dp;
具體來說,設置view的屬性android:layout_width和android:layout_height的值時,wrap_content,match_parent或dp比px更好,文字大小應該使用sp來定義。
2) 在程序的代碼中不要出現具體的像素值,在dimens.xml中定義;
為了使代碼簡單,android內部使用pix為單位表示控件的尺寸,但這是基於當前屏幕基礎上的。為了適應多種屏幕,android建議開發者不要使用具體的像素來表示控件尺寸。
3) 不使用AbsoluteLayout(android1.5已廢棄) ,可以使用RelativeLayout替代;
4) 對不同的屏幕提供合適大小的圖片。
不同大小屏幕用不同大小的圖片,low:medium:high:extra-high圖片大小的比例為3:4:6:8;舉例來說,對於中等密度(medium)的屏幕你的圖片像素大小為48×48,那麼低密度(low)屏幕的圖片大小應為36×36,高(high)的為72×72,extra-high為96×96。
3 使用9-patch PNG圖片
使用圖片資源時,如果出現拉伸,因為圖片處理的原因,會變形,導致界面走形。9-patch PNG圖片也是一種標准的PGN圖片,在原生PNG圖片四周空出一個像素間隔,用來標識PNG圖片中哪些部分可以拉伸、哪些不可以拉伸、背景上的邊框位置等。
“上、左”定義可拉伸區域
“右、下”定義顯示區域,如果用到完整填充的背景圖,建議不要通過android:padding來設置邊距,而是通過9-patch方式來定義。
Android SDK中提供了編輯9-Patch圖片的工具,在tools目錄下draw9patch.bat,能夠立刻看到編輯後的拉伸效果,也可以直接用其他圖片編輯工具編輯,但是看不到效果。
4 測試驗證
一般使用AVD Manager創建多個不同大小的模擬器,
本文實例講述了Android編程開發之EditText實現輸入QQ表情圖像的方法。分享給大家供大家參考,具體如下:實現效果如下:將QQ表情圖像放到res下的drawabl
Android系統默認的Toast十分簡潔,使用也非常的簡單。但是有時我們的程序使用默認的Toast時會和程序的整體風格不搭配,這個時候我們就需要自定義Toast,使其與
以前寫過一篇ViewPager:內容content+指示點的Demo; 這篇文章繼續介紹ViewPager:內容content+標題title的Demo。
前言 打造一款完整可用的Android播放器有許多功能和細節需要完成,也涉及到各種豐富的知識和內容,本章將結合Fragment、ViewPager來搭建播放器的