Android布局

Posted 故意的是吧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android布局相关的知识,希望对你有一定的参考价值。

LinearLayout 线型布局

android:orientation(方向)=“vertical”(垂直)或“horizontal”(水平)

android:gravity(重力)=“center”

    center_vertical      垂直(Y轴)居中

    center_horizontal      水平(X轴)居中

    center           全部居中 

    right             子类控件位于当前布局的右边   

    left            子类控件位于当前布局的左边

    bottom            ····下面

    

线型布局中如果设置match_parent后再设置权重会反比例占用


layout_gravity调整该布局相对父布局的位置(仅针对LinearLayout使用)

gravity是调整该布局中子布局的位置


RelativeLayout 相对布局

子布局有gravity属性,没有layout_gravity属性

android:layout_alignParentLeft="true"在父类容器靠左

android:layout_marginLeft="36dp"距离父类左边距离

android:layout_centerInParent="true"在父类中居中显示

android:layout_centerHorizontal="true"在父类中水平居中

android:layout_below="@id/view" 在view的下方

android:layout_above="@id/view" 在上方

android:layout_toLeftOf="@id/view" 在左边

android:layout_alignBaseline="@id/view"本身与view内容对齐

android:layout_alignBottom="@id/view" 与view底部对齐


FrameLayout 帧布局

在这个布局中,所有的子元素都不能被指定放置的位置,他们统统放在区域的左上角,并且后面的子元素会直接覆盖前面的子元素。

也没有gravity属性,但子类有layout_gravity属性。


设置前景图,在所有子视图的前面

android:foreground

设置背景

android:background

保持屏幕唤醒

android:keepScreenOn

设置前景图的位置

android:foregroundGravity


AbsoluteLayout  绝对布局

又称坐标布局,可以直接指定子元素的绝对位置(XY)

设备屏幕尺寸不同造成适应性差。

以左上角为起点设置位置:

android:layout_x="35dp"控制子类X位置

android:layout_x="35dp"      Y位置


TableLayout  表格布局

以行列的形式管理子空间,每一行为一个TableRow对象,也可以是一个View

全局属性:

android:collapseColumns=“1,2”

隐藏从0开始的索引列。列用逗号隔开:1,2,5


android:shrinkClumns=“1,2”

收缩从0开始的索引列。当可收缩的列太宽(内容太多)不会被挤出屏幕,列之间必须用逗号隔开:1,2,5 可以通过 * 代替收缩所有列。一列能同时表示收缩和拉伸。


android:stretchClumns=“1,2”

拉伸从0开始的索引列,以填满剩余的空白空间。列用逗号隔开,可以用*代替拉伸所有


局部属性(内部空间所用的属性):

android:layout_column="1" 该空间显示在第二列

android:layout_span="2" 该控件占据2列

以上是关于Android布局的主要内容,如果未能解决你的问题,请参考以下文章

Android布局权重是怎样的

Android之使用weight属性实现控件的按比例分配空间

Android 屏幕适配屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )

Android 屏幕适配屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )

Android布局— — —帧布局

Android之布局LinearLayout