在设置style的时候既可以使用 @ 也可以使用 ?
例如:

style="@android:style/Widget.ProgressBar.Horizontal"style="?android:attr/progressBarStyleHorizontal"

两者的区别:
●使用@表示使用固定的style,而不会跟随Theme改变,这个style可以在对应的styles.xml中找到。
●使用?表示从Theme中查找引用的资源名,这个google叫预定义样式,用在多主题时的场景,属性值会随着主题而改变。(?需要和attr配合使用)。

例如,上面的progressBarStyleHorizontal在不同的Theme中引用的style是不同的:

\platforms\android-25\data\res\values\themes.xml