Android中的RelativeLayout中组件的排放问题

Android技术篇 尼古拉斯.赵四 5164℃ 0评论

今天想仿照新浪微博的用户中心


主要就是那个头像的问题,这个看到就想到用相对布局,现在是我想把那个名称放到头像的上面去xml中定义如下:

<RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/user_info_head_wallpager">
            <ImageView
                android:id="@+id/user_info_head_avatar"
                android:layout_width="74dip"
                android:layout_height="74dip"
                android:background="@drawable/avatar_background" />
            <TextView
                android:id="@+id/user_info_head_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_above="@+id/user_info_head_avatar"
                android:text="dskhdks"
                android:textColor="#FFFFFF"
                android:textSize="19sp"
                android:textStyle="bold"
                android:background="#ff567890" />
 </RelativeLayout>

这样看一点问题都没有,但是看一下效果图,那个TextView就是不显示,使用了各种办法找错误,都没有效果,最后查了好多资料才找到原因,就是RelativeLayout中添加组件额顺序要和显示的顺序一样,所以把ImageView和TextView两个换了个位置,在ImageView中使用layout_below属性然后就没有问题了

而且在这个过程中还发现一个问题就是Android中的一个特性:XML布局文件中id的获取是从上往下获取的,所以如果你在一个组件之前使用到他的id,这时会出现意想不到的错误.

最后附上RelativeLayout中关于位置的设置属性详解:

android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

 

关注微信公众号,最新技术实时推送

转载请注明:尼古拉斯.赵四 » Android中的RelativeLayout中组件的排放问题

喜欢 (4)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址