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

Android styles.xml 中找不到 layout_width/height 屬性的解決方案

     編輯:程式設計綜合問答

在 Android 開發中,開發者常在 styles.xml 定義樣式時引用 android:layout_width 和 android:layout_height,但有時編譯會報錯「找不到屬性」。這通常不是語法錯誤,而是構建緩存或資源索引異常導致。

問題現象

代碼示例:

<style name="tvr_left_tv">
  <item name="android:layout_width">wrap_content</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:textColor">@color/tvr_left_tv</item>
  ...
</style>

編譯報錯提示無法解析 layout_width 和 layout_height。

根本原因

  • Gradle 構建緩存損壞或過期。
  • Android Studio 資源索引未正確更新。
  • 項目結構變更(如模塊遷移)導致 R 文件生成異常。

解決步驟

  1. 清理並重建項目:在 Android Studio 中依次執行 Build > Clean Project 和 Build > Rebuild Project。
  2. 刷新 Gradle:點擊右側 Gradle 面板的「Reload All Gradle Projects」圖標。
  3. Invalidate Caches / Restart:選擇 File > Invalidate Caches / Restart > Invalidate and Restart,這能重置 IDE 索引。
  4. 檢查命名空間:確保 style 標籤在正確的 resources 目錄下,且未誤用自定義命名空間(如 app:layout_width)。

最佳實踐

雖然在 Style 中定義佈局屬性合法,但官方建議僅在 Style 中定義外觀屬性(顏色、字體、邊距),而將 layout_width/height 直接寫在佈局 XML 的 View 標籤上,以提高可讀性並避免潛在衝突。

執行上述步驟後,絕大多數「找不到屬性」問題即可解決。若持續存在,請檢查 build.gradle 中 compileSdkVersion 與支持庫版本是否一致。

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