android:WindowTitle導致程序無法編譯通過
res/vavlues/styles.xml中使用的android:WindowTitle會報以下異常,
error: Error retrieving parent for item: No resource found that matches the given name 'android:WindowTitle'.
從而導致我們的程序無法編譯通過。
原因:
android2.1中的某些API(包括類方法或者XML屬性)更換成android2.2時,它們的路徑已經發生了改變,從而導致編譯器無法找到它們,所以編譯無法通過。
1. 在Eclipse中打開任意一個.java文件,輸入
android.R.style.
這時你會看到一個提示列表,仔細看看,裏面確實沒由WindowTitle, 但是我們發現了一個TextAppearance_WindowTitle. 沒錯, 在android2.2中,它已經被改成了TextAppearance_WindowTitle。
2. 回到報錯的res/values/styles.xml, 將<style name="XWindowTitle" parent="">
相應地修改成
<style name="XWindowTitle" parent="android:TextAppearance.WindowTitle">
注意:這裏你也許會注意到 .java文件中的XML屬性,與 .xml文件中XML屬性很是類似。
這不是巧合,android官方文檔規定:
java文件中的android.R.style.TextAppearance_WindowTitle 對應
xml文件中的android:TextAppearance.WindowTitle。 “下劃線”與“點”時對應關係。
關於Styles and Themes 之間的關係,請參考官方網站
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.