現象:圖形編輯器預覽正常,但模擬器/真機執行時畫面底部 1/4 區域被切掉、內容無法顯示。
專案設定:
minSdkVersion = 3 (Android 1.5)targetSdkVersion = 4 (Android 1.6) 或更高當 targetSdkVersion > 當前執行版本 時,系統啟用**相容模式**,假設 App 設計基準為較大螢幕(如 HVGA 480x320),但在較小螢幕(如 QVGA 320x240)上**不自動縮放佈局**,而是直接裁切超出部分。
// build.gradle / AndroidManifest.xml
若目標支援 Android 1.5,將 targetSdkVersion 也設為 3,系統不會啟用相容縮放,畫面完整顯示。
在 Manifest 加入:
並在 res/values/ 提供 dimens.xml 適配不同密度。
| API Level | 版本代號 | 螢幕基準 |
|---|---|---|
| 3 | 1.5 Cupcake | QVGA (320x240) - 相容模式基準 |
| 4 | 1.6 Donut | HVGA (480x320) - 支援多密度 |
| 7 | 2.1 Eclair | WVGA (800x480) 普及 |
| 8 | 2.2 Froyo |
minSdkVersion 21 (Android 5.0) 以上,棄用古老版本相容模式邏輯。ConstraintLayout + dp/sp 單位,自動適配所有密度。drawable-xxxhdpi 至 drawable-mdpi 完整圖片資源。理解 targetSdkVersion 對相容模式的影響,能避免畫面裁切、縮放異常等視覺 Bug。