Android布局理解之一:FrameLayout 内的控件如何设置位置

所有的子元素将会固定在屏幕的左上角;不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 
简单来说:FrameLayout中的子元素总是以屏幕的左上角层叠在一起。在FrameLayout布局里面android:layout_margin的各种属性必须依赖于android:layout_gravity,也就是说,要想margin生效,必须设定view的layout_gravity属性。
下面的配置将2个控件显示在屏幕的中间:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 宽
android:layout_height="fill_parent" 高
>
<LinearLayout
android:layout_width="200dip" 宽
android:layout_height="wrap_content" 高
android:orientation="vertical" 垂直
android:gravity="center" 居中
android:layout_gravity="center" 居中
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/empty3"
/>
<TextView
android:layout_width="fill_parent" 宽
android:layout_height="wrap_content" 高
android:layout_marginTop="10dp"
android:text="暂无记录"
android:textColor="@color/gray_dark"
android:textSize="@dimen/font_middle"
android:gravity="center"
/>
</LinearLayout>
</FrameLayout>
展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页