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

Android 同分辨率不同尺寸螢幕適配:dimens.xml 多資源桶策略

     編輯:程式設計綜合問答

問題本質

1080×1920 分辨率,5 吋(約 440 dpi)與 5.7 吋(約 386 dpi)屬於 **不同密度桶**(xxhdpi vs xhdpi/xxhdpi 邊界),系統會載入不同 dimens.xml。

標準適配方案:dimens.xml + swdp / 密度桶

  1. 在 res/values 定義基準尺寸(如 dimen_text_normal=16sp)。
  2. 建立密度專屬資源目錄:
    values-xhdpi/、values-xxhdpi/、values-xxxhdpi/,覆寫對應尺寸。
    或用最小寬度限定符:values-sw360dp/、values-sw400dp/ 精確控制。
  3. 佈局中引用 @dimen/text_normal,系統自動依裝置密度/寬度選取正確值。

輔助技巧

  • 使用 sp 字體、dp 尺寸,避免硬編碼 px。
  • 善用 ConstraintLayout、PercentLayout、Weight 實現彈性佈局。
  • 圖片提供多密度切圖(mipmap-xhdpi/xxhdpi/xxxhdpi),避免拉伸失真。

自動化工具

Android Studio → New → Vector Asset / Image Asset 可自動生成多密度圖片;Dimenify 外掛可一鍵生成多桶 dimens.xml。

  1. 上一篇文章:
  2. 下一篇文章:
Struts2 ` s:textarea ` 與原生 ` textarea ` 差異解析 Struts2 `` 與原生 `