Android xml中 @和?区别,style和attr小结
来源:互联网 发布:取消3.5mm耳机接口知乎 编辑:程序博客网 时间:2024/05/23 13:02
引用资源时,使用@还是?的区别,例如在设置style的时候既可以使用@也可以使用?
style="?android:attr/progressBarStyleHorizontal" style="@android:style/Widget.ProgressBar.Horizontal"
使用@表示使用固定的style,而不会跟随Theme改变,这style可以在对应的style.xml中找到。
而?表示从Theme中查找引用的资源名,例如上面的progressBarStyleHorizontal,查看\platforms\android-23\data\res\values\themes.xml文件,可以看到在不同的theme中,progressBarStyleHorizontal引用的style是不同的。如
在Theme中
<item name="progressBarStyleHorizontal">@style/Widget.ProgressBar.Horizontal</item>
Theme.Holo中为
<item name="progressBarStyleHorizontal">@style/Widget.Holo.ProgressBar.Horizontal</item>
1、在styles.xml中定义style标签的parent的时候
自带属性,以下使用方式等同
<style name="AppThemeSdk1" parent="@android:style/Widget.ProgressBar.Horizontal"> </style> <style name="AppThemeSdk2" parent="android:style/Widget.ProgressBar.Horizontal"> </style> <!--studio 不提示 但不报错 可用--> <style name="AppThemeSdk3" parent="android:style/Widget.ProgressBar.Horizontal"> </style> <!--studio 不提示 但不报错 可用--> <style name="AppThemeSdk4" parent="android:Widget.ProgressBar.Horizontal"> </style>
自定义属性,以下使用方式等同
<style name="AppThemeCustom1" parent="Widget.AppCompat.ProgressBar.Horizontal"> </style> <style name="AppThemeCustom2" parent="@style/Widget.AppCompat.ProgressBar.Horizontal"> </style> <!--studio 不提示 但不报错 可用--> <style name="AppThemeCustom3" parent="style/Widget.AppCompat.ProgressBar.Horizontal"> </style>
2、style作为xml中定义的属性时候
<!--自定义的-->@style/Widget.AppCompat.ProgressBar.Horizontal<!--系统自带的-->@android:style/Widget.ProgressBar.Horizontal
3、? attr
<!--系统自带的 ,以下使用方式等同-->"?android:属性""?android:attr/属性"<!--自定义的 ,以下使用方式等同-->"?attr/属性""?属性"
另外:
当引用系统自带的style和attr时
"@android:style/主题"和"@style/android:主题"等同"?android:attr/属性"和"?attr/android:属性"等同
3 0
- Android xml中 @和?区别,style和attr小结
- Android自定义attr和style
- Android中 @和?区别以及?attr/**与@style/**等的区别
- Android中 @和?区别以及?attr/**与@style/**等的区别
- style[attr]和style.attr的问题
- Android中的Attr、Style和Theme详解
- Attr、Style和Theme
- android attr.xml my style
- XML中Element,Node,Attr的区别和联系
- android 中 style和theme的区别
- android中style"."和parent的区别
- Android中style和theme的区别
- Android中style和theme的区别
- d3中的selection.style和selection.attr的区别
- style和attr的 温习
- Attr、Style和Theme详解
- Android里面的Attr、Style和Theme 解析
- jquery 中 attr()和addClass()的区别
- 整数转字符串
- Android应用实现QQ授权登录
- Android优化(内存、流畅度)
- Java经验者的面经
- CP30数据连接池死锁
- Android xml中 @和?区别,style和attr小结
- vim中文本替换命令
- jprofiler_linux_9_2.sh
- 吐槽一下测评网的笔试居然只支持 Python 2,害我在 input 上面搞了好久
- 线程详解
- PAT 1062. Talent and Virtue (25)(判断是否是圣人君子小人)(代码超时)
- PAT(乙级)1022 挖掘机技术哪家强(20)
- 同时调用getOutputStream()和getWriter()出现的问题以及请求转发和请求重定向的区别
- JMS基本概念