1. 如何處理背景圖的多解析度適配
相信在解析度如此雜亂的今天,一款app適應各種設備的問題是許多Android開發人員的噩夢,那本人今天推出一款自己用C#開發的一款小工具,它可以很方便的完成多解析度的適配,下面就介紹這款工具的用法:
第一步:解壓DimensEx.rar,裡面有一個工具和一個dimens.xml模板,該dimens.xml中包函了從1px到1400px,相信足夠大家使用了,如果不夠,可自行添加。
第二步:建立工程並將解壓出的dimens.xml復制到/res/values文件夾下。
第三步:開始寫布局文件,寫的時候如果有要設置大小,則不要直接寫成如:android:layout_width:"20dp"的形式,應該寫成:android:layout_width:"@dimen/DIG_20PX",注意這里如果是設置背景圖片,則大小是圖片的大小(右擊圖片——屬性——大小),所有的大小都這樣寫,包括字體大小。
2. android中怎麼實現動態設置背景圖片的功能,我在網上搜到的只能設置到當前的頁面,並不能實現設置到全部
當關閉重新運行,它又會自動跳回原始的背景圖片。
在開發過程中,由於使用模擬器測試了程序,在首次運行後會將res文件夾下的圖片資源文件(如drawable-hdpi、drawable-ldpi和drawable-mdpi)拷貝到bin文件夾下。在替換資源圖片後,eclipse並不清楚是否有圖片改變,所以會使用原來bin下的res文件夾中的資源文件進行打包,而圖片用的還是第一次eclipse所拷貝進去的文件,所以當運行程序後會發現替換資源圖片在程序中沒起作用。
解決辦法:每次運行前,清理項目
動態設置背景圖片代碼
privateinti=0;//全局變數定義,初始化
//list數組接收到從文件中讀取到的數據
List<String>list=readTxt.getDierguanResource();
//changeBack這個函數用來動態設置背景圖片
publicvoidchangeBack(intbackground){
main=(LinearLayout)findViewById(R.id.shizi);
Stringa=list.get(background);
//獲取到的背景圖片名as(圖片存到res/drawable文件下)
Stringas=a.split("")[1];
//動態獲取圖片getResources().getIdentifier(as,"drawable",getPackageName())
intresID=getResources().getIdentifier(as,"drawable",getPackageName());
//設置頁面背景setBackgroundResource()
main.setBackgroundResource(resID);
}
if(i>=0&&i<list.size()){
changeBack(i);
}
3. 讓Android的背景圖片顯示隨控制項拉伸,怎麼弄
純css實現的話可以使用css的background-size屬性。語法如下示例:
1
p{background-size:100% 100%}
共有兩個值,第一個值是寬度,第二個值是高度。如果只設置第一個值,則第二個值默認為"auto"。