首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 畫面底部被切割:minSdkVersion/targetSdkVersion 不一致導致相容模式縮放

     編輯:程式設計綜合問答

現象:圖形編輯器預覽正常,但模擬器/真機執行時畫面底部 1/4 區域被切掉、內容無法顯示。

根本原因:targetSdkVersion 宣告與實際測試版本不符

專案設定:

  • minSdkVersion = 3 (Android 1.5)
  • targetSdkVersion = 4 (Android 1.6) 或更高
  • 但在 **SDK 3 (1.5) 模擬器** 上測試

當 targetSdkVersion > 當前執行版本 時,系統啟用**相容模式**,假設 App 設計基準為較大螢幕(如 HVGA 480x320),但在較小螢幕(如 QVGA 320x240)上**不自動縮放佈局**,而是直接裁切超出部分。

解決方案

方案一:統一 targetSdkVersion 與測試版本(推薦)


// build.gradle / AndroidManifest.xml

若目標支援 Android 1.5,將 targetSdkVersion 也設為 3,系統不會啟用相容縮放,畫面完整顯示。

方案二:支援多螢幕密度(現代標準)

在 Manifest 加入:



並在 res/values/ 提供 dimens.xml 適配不同密度。

版本對照表

API Level版本代號螢幕基準
31.5 CupcakeQVGA (320x240) - 相容模式基準
41.6 DonutHVGA (480x320) - 支援多密度
72.1 EclairWVGA (800x480) 普及
82.2 Froyo

現代專案建議

  • minSdkVersion 21 (Android 5.0) 以上,棄用古老版本相容模式邏輯。
  • 使用 ConstraintLayout + dp/sp 單位,自動適配所有密度。
  • 提供 drawable-xxxhdpi 至 drawable-mdpi 完整圖片資源。

理解 targetSdkVersion 對相容模式的影響,能避免畫面裁切、縮放異常等視覺 Bug。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved