Android布局是用来控制子空间在UI中的位置。
1.Layout类型
1.1 FrameLayout
简单将每一个子视图放置在边框内,默认的位置是左上角。
2.LinearLayout
按照垂直或水平防线对齐每一个子视图。LinearLayout为每一个子视图指定一个weight属性,以控制每一个子视图在可用空间内的相对大小。
3.RelativeLayout
定义每一个子视图与其他子视图之间以及屏幕边界之间的相对位置。
4.Gridlayout
使用极细的线构成矩形网络,在一系列行和列中布局视图。
布局为了适应各种不同尺寸的屏幕,所以不使用绝对位置。
2.Layout属性
2.1 android:background 背景颜色
例如:
android:background=”#fff”
android:background=”@android:color/xxx”
2.2 android:layout_width 宽度, android:layout_height 高度
例如:
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
2.3 android:textColor 字体颜色
例如:
android:textColor=”#000”
2.4 android:stackFromBotton
从底部开始往上堆叠显示
例如:
android:stackFromBottom=”true”
2.5 android:visibility
可以设置为3个值:
VISIBLE:设置控件可见
INVISIBLE:设置控件不可见
GONE:设置控件隐藏
而INVISIBLE和GONE的主要区别是:当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,界面则不保留view控件所占有的空间。
2.6 android:padding
控件内边框,指该控件内部内容,如文本/图片距离该空间的边距
android:paddingLeft=”1dip”
android:paddingTop=”1dip”
android:paddingRight=”1dip”
android:paddingBottom=”1dip”
Android支持的长度单位。
px(像素):屏幕上的点。
pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
in(英寸):长度单位。
mm(毫米):长度单位。
pt(磅):1/72英寸。
point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
dip:与dp相同,多用于android/ophone示例中。
device independent pixels(设备像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。
scaled pixels(放大像素). 主要用于字体显示best for textsize。
2.7 android:margin
Margin 为外边框,指该控件距离边父控件的边距
android:layout_marginBottom=”25dip”
android:layout_marginLeft=”10dip”
android:layout_marginTop=”10dip”
android:layout_marginRight=”10dip”
Layout常量
Wrap_content:把视图的大小设为包含它显示的内容所需的最小尺寸。
Match_parent:扩展视图,使其填满父视图,Fragment或Activity内的可用空间。
4.使用代码实现布局
上述都是使用xml文件实现布局,这样做的优点是将布局的实现从视图,Fragment和activity的代码中分离。