java - 为什么把后声明的控件放置在前面声明的控件之上会变得不可见
迷茫
迷茫 2017-04-17 15:49:41
[Java讨论组]

xml代码如下


    
       
        
         
    


然而并不会显示TextView的内容,我想知道这是为什么?(在什么情况下会看不到自己设置的控件)
而且有的时候后声明的控件设置为toLeftOf前一个控件也会看不到该控件
(我本人并不想过多地去设置精确的DP数值)
除此之外我还想知道安卓相对布局中各属性的细节,到底在相对布局中给一个控件设置几个必要的属性才会使他放到合适而准确的位置(比如我先声明了一个控件,我想让后声明的控件的竖直方向的中点与前面声明控件的竖直方向的中点对齐),还有目前怎么能有效率
地组织安卓控件的摆放位置,我也希望能推荐我一篇好的文章去指导我如何
准确地去摆放控件的位置,希望高手们能逐条解答我的问题,感激不尽!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
怪我咯

我的回答都是比较通俗的解释,因为我并不太清楚真正的原理。基于经验而谈:
第一个问题:解析包括RelativeLayout在内的ViewGroup都是对child逐个布局的,也就是ViewGroup中的每个View都受限于Viewgroup和已经布局完成的View,如果你把你写的TimePicker 加上一个android:layout_alignParentBottom="true" 你会发现TextView出来了,这说明TextView是布局了的,只是依赖于TimePicker 他被布局出去屏幕了。所以说布局的时候通常应该从上到下 从左到右 。

第二个问题:http://blog.csdn.net/jiangxinyu/article/details/8611228 随便搜了一篇博客 足以解决你的第二个问题。

第三个问题:这个来源于经验和学习,多看看别人优秀的源码,多百度谷歌。
我的经验是,简单布局就是RelativeLayout和LinearLayout,复杂的需要大量嵌套的就是用RelativeLayout嵌套LinearLayout,多使用layout_weight。优秀不止一种,看自己的习惯。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号