Android知識點總結(一)
1、android:layout_weight 屬性的意義
1、權重的值指的是每個部件所佔剩餘空間的大小,該值與同級部件所佔空間大小有關。
2、例如,我們定義一個權重為 2 的 View,另一個 View 的權重是 1,那麼總數就是 3;這時第一個 View 佔據 2/3 的空間,第二個佔據 1/3 的空間。如果再加入第三個 View,權重設為 1,那麼第一個 View(權重為 2 的)會佔據 1/2 的空間,剩餘的另外兩個 View 各佔 1/4。
3、使用權重的前提一般是給 View 的寬或者高的大小設定為 0dp,然後系統根據上面的權重規則來計算 View 應該佔據的空間。但在很多情況下,如果給 View 設定了 match_parent 的屬性,那麼在計算權重時則不是通常的正比,而是反比。也就是說,權重值大的反而佔據空間小。
4、如果只設置了一個 View 的權重大於 0,則該 View 將佔據除去別的 View 本身佔據的空間的所有剩餘空間。
2、命令列gradle編譯並安裝專案
開啟命令列並切換當前目錄到Andriod專案的根目錄,在debug模式下使用Gradle編譯專案,使用gradle指令碼執行assembleDebug編譯專案,執行後會在build/目錄下生成MyFirstApp-debug.apk。
gradle編譯專案
gradlew.bat assembleDebug
編譯完成後在app/build/outputs/apk/目錄生成apk。
安裝專案
adb install app-debug.apk
3、Android適配不同的語言
為支援多國語言,在res/中建立一個額外的values目錄以連字元和ISO國家程式碼結尾命名,比如values-cn/ 是為語言程式碼為"cn"的區域設定的簡單的資原始檔的目錄。Android會在執行時根據裝置的區域設定,載入相應的資源。
例如:
MyProject/ res/ values/ strings.xml values-es/ strings.xml values-cn/ strings.xml
4、Android適配不同螢幕
Android用尺寸和解析度這兩種常規屬性對不同的裝置螢幕加以分類。
App會被安裝在各種螢幕尺寸和解析度的裝置中。針對不同的螢幕尺寸和解析度,使用不同資源來優化其外觀。
有4種普遍尺寸:小(small),普通(normal),大(large),超大(xlarge)
4種普遍解析度:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi)
宣告針對不同螢幕所用的layout和bitmap,必須把這些可選資源放置在獨立的目錄中。
建立不同layout:為了針對不同的螢幕去優化使用者體驗,我們需要為每一種將要支援的螢幕尺寸建立唯一的XML檔案。
建立不同Bitmap:我們應該為4種普遍解析度:低,中,高,超高精度,都提供相適配的bitmap資源。這能使我們的app在所有螢幕解析度中都能有良好的畫質和效果。
5、Android適配不同系統版本
minSdkVersion:App最低相容API的級別
targetSdkVersion:App最高適用的API級別