android相对布局中@id和@+id的区别(原理)
来源:互联网 发布:工资数据分析 编辑:程序博客网 时间:2024/06/06 00:58
@id和@+id的区别,网上讲的主要是@id是引用已经存在的控件,而@+id则是声明一个新的id。
但是在相对布局中,layout_below="@id/xxx"
和 layout_below="@+id/xxx"
似乎在显示上没什么区别,而事实上是存在细微不同的。
用一个例子来讲
<View android:layout_below="@+id/view1" android:layout_width="match_parent" android:layout_height="wrap_content"/><View android:id="@id/view1" android:layout_width="match_parent" android:layout_height="wrap_content"/>
上述代码是正确的,即下面的顺序是被允许的。但是去掉第一行的+号,或者将第二行与第一行的位置换一下,便不行!!!
android:layout_below="@+id/view1"android:id="@id/view1"
原理就是:
@+id会在R.java file里面添加一个新的id,这也就是能用findViewById(R.id.xxx)
找到控件的原因,而@id就直接在这个文件里查找了。
而为什么已经存在了某个id,在layout_below里仍可以@+id呢?
因为android能容忍重复的id存在,并不是说会出现两个相同的id,而是新的id覆盖原有的id,而在这儿@+id不过是将id重复创建了一遍。
不建议在已存在某id的时候再在布局中使用@+id,虽然暂时这是被允许的,但是这种写法并不规范,在后续的android版本中可能被禁止这种写法。
阅读全文
0 0
- android相对布局中@id和@+id的区别(原理)
- Android中XML布局文件@+id和@id的区别
- Android中@id和@+id的区别
- Android中@id和@+id的区别
- Android中@+id和@id的区别
- Android中@id和@+id的区别
- android布局的id和+id的区别
- 【原创】android 布局xml中@+id 与@id的区别
- @+id和@id 的区别 menu 布局
- android开发中@+id/和android:id用法的区别?
- android 页面布局时定义控件ID时@id/XX和@+id/xx 的区别
- Android@id和@+id的区别
- Android@id和@+id的区别
- @+android:id 和@+id的区别
- @+id/和android:id和@id/的区别?
- @+id以及@id和android:id的区别
- Android中android:id="@id/变量名"和android:id="@+id/变量名"的区别
- Android@id和@+id区别?
- bzoj 3238 Ahoi2013 后缀数组+单调栈
- HDU 6130 Kolakoski 打表
- 2017年8月12日(模拟四(smoj2193,2194,2195)强连通分量、勾股定理探索、动态规划+容斥原理)
- 常用正则表达式大全,手机、电话、邮箱、身份证(最严格的验证)、IP地址、网址、日期等,一般前台js验证
- 【已解决】ubuntu插网线无法联网
- android相对布局中@id和@+id的区别(原理)
- 关于ETCD和Zookeeper的一些简单了解(转)
- Linux下安装Elasticsearch5.5
- Jmeter运行原理
- 【拜小白opencv】11-综合示例-两幅图像融合-摄像头采集图像-滑动条
- 2017年8月11日(模拟五 2065,2104,2115数学方法、深度搜索、后缀数组+manacher+树状数组+二分)
- vi光标移动命令之一
- Java数据结构之线性表
- fl2440开发板之u-boot移植