android:WindowTitle导致程序无法编译通过

转载地址:点击打开链接

当你的androidAPI 由2.1版本更换成2.2版本时:
 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 之间的关系,请参考官方网站

发布了0 篇原创文章 · 获赞 3 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章