论坛首页 移动开发技术论坛

有意思的android RelativeLayout布局

浏览 4948 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-01  

前不久做项目,要求软件高度自适应800与800+的高度,主界面原先使用linearlayout布局。

界面的设计是linearlayout垂直中套用3个linearlayout,现在要求自适应屏幕高度,这样一来linearlayout无法满足要求,所以用RelativeLayout弄,

RelativeLayout中间套了3个linearlayout(A,B,C)需要设置它们的关系布局,分别为

A (android:layout_alignParentTop="true"   ) 

B (android:layout_below="@id/A")

C (android:layout_alignParentBottom="true")


当然后来出Bug了,C把B的下半部分挡上了。


解决BUG:

把B加上一个(android:layout_above="@id/C")心花怒放中...







经过编译......



打叉了,我日,没有识别出C的id

这是为什么,难道和排列的顺序有关?



这样我把xml中排列的顺序改了为


(android:layout_alignParentTop="true"   ) 

C (android:layout_alignParentBottom="true")

(android:layout_below="@id/A" android:layout_above="@id/C"


这回认出C的id了,不知道为什么

估计是RelativeLayout在本页找布局时候,按顺序找id的,就是说写在前面的代码找不到后面的代码





 

   发表时间:2011-08-01  
刚才又试了一下,真的找id是有顺序关系的,而RelativeLayout布居中,

而RelativeLayout布局跟代码的书写顺序也没什么关系
0 请登录后投票
   发表时间:2011-08-05  
doloveme 写道
刚才又试了一下,真的找id是有顺序关系的,而RelativeLayout布居中,

而RelativeLayout布局跟代码的书写顺序也没什么关系

哈哈,的确是被引用的id要放在前面
0 请登录后投票
   发表时间:2011-08-05  
多了个知识点。。
0 请登录后投票
   发表时间:2011-08-09  
其实只要不是要实现对齐,用LinearLayout都能实现相关的效果的
0 请登录后投票
   发表时间:2011-08-09  
(android:layout_above="@id/C")
=>

(android:layout_above="@+id/C")
0 请登录后投票
   发表时间:2011-08-16  
dengyin2000 写道
(android:layout_above="@id/C")
=>

(android:layout_above="@+id/C")



如果你新建个id,那么指向谁呢
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics