<TextView style="?android:listSeparatorTextViewStyle"
android:text="@string/string_title"/>
1、"?"
?使您可以引用样式属性而不是特定的硬编码资源。有关详细信息,请参见《 Android开发人员指南》中的“引用样式属性”。
当考虑包含相同自定义资源属性的多个主题时,这是最有意义的。
假设您有与电影相关的主题,例如MyThemeTransformers和MyThemeHobbit,并且都有一个名为movieIcon的属性。该movieIcon属性指向每个主题定义中的另一个@drawable资源,例如robot.png或hobbit.png。
您可以在主题生效的任何地方(例如在工具栏或对话框或任何类型的View布局中)引用“ ?attr / movieIcon ”,当您在主题之间切换时,它将自动指向正确的可绘制对象。
2、"@"
@引用的是之前定义好的资源,该资源已经存在于当前项目或者android的framework里。比如使用@引用strings.xml里面的文字作为button的text,该资源是明确指定的,不管app主题样式怎么变,button的text始终不变,这也是硬编码资源。