android界面布局

Android界面布局

1LinearLayout : 线性布局方式每个元素占一行或者一列.

    LinearLayout是最简单也是最常用的一种布局方式,它根据orientation 属性值,将包含的所有控件或布局对象排列在同一个方向:水平或垂直,在这种布局中,所有的控件都是依序排列成一条线。在线性布局中的控件允许有自己的marginsgravity属性。

    LinearLayout.LayoutParams用来定义针LinearLayout布局的专用属性,它包括以下内容:

1)android:layout_weight用于在LinearLayout中把所有子View排布之后的剩余空间按照它们的layout_weight分配给各个拥有这个属性的View

2)android:layout_gravity用于设置组件自身在父组件中的对齐方式。

    padding:组件内容相对组件的边缘的距离。因此,它仍属于组件的区域范围。如果为组件设置背景,背景将会覆盖此区域。

margin:组件边缘相对其他组件边缘的距离,即组件之间的距离。

android:layout_gravity用于设置组件自身在父组件中的对齐方式。需要注意的是,此属性与布局属性android: gravity的区别。android:gravity用于设置View组件的对齐方式。

android:gravity="center"来让EditText中的文字在EditText组件中居中显示;

同时设置EditTextandroid:layout_gravity="right"来让EditText组件在LinearLayout中靠右显示。

2RelativeLayout :相对定位的布局方式,相对位置相对其他元素或者相对布局.

RelativeLayout的子控件会根据它们所设置的参照控件和参数进行相对布局。参照控件可以是父控件,也可以是其它子控件。

针对父控件的布局属性,如下所示。

android:layout_alignParentTop:为true,将该控件的顶部与其父控件的顶部对齐;

android:layout_alignParentBottom :为true,将该控件的底部与其父控件的底部对齐;

android:layout_alignParentLeft:为true,将该控件的左部与其父控件的左部对齐;

android:layout_alignParentRight:为true,将该控件的右部与其父控件的右部对齐;

android:layout_centerHorizontal: 为true,将该控件的置于水平居中;

android:layout_centerVertical: 为true,将该控件的置于垂直居中;

android:layout_centerInParent: 为true,将该控件的置于父控件的中央;

针对其它控件的属性,如下所示。

android:layout_above: 将该控件的底部置于指定ID的控件之上;

android:layout_below :将该控件的底部置于指定ID的控件之下;

android:layout_toLeftOf:将该控件的右边缘与指定ID的控件左边缘对齐;

android:layout_toRightOf: 将该控件的左边缘与指定ID的控件右边缘对齐;

android:layout_alignBaseline: 将该控件的baseline与指定IDbaseline对齐;

android:layout_alignTop: 将该控件的顶部边缘与指定ID的顶部边缘对齐;

android:layout_alignBottom: 将该控件的底部边缘与指定ID的底部边缘对齐;

android:layout_alignLeft: 将该控件的左边缘与指定ID的左边缘对齐;

android:layout_alignRight:将该控件的右边缘与指定ID的右边缘对齐;

注意,不能在RelativeLayout容器本身和它的子元素之间产生循环依赖,比如说,不能将RelativeLayout的高设置成为WRAP_CONTENT的时候将子元素的高设置成为ALIGN_PARENT_BOTTOM

3TableLayout: 表格的布局方式.

TableLayout以行列的形式管理子控件,每一行为一个TableRow对象,当然也可以是一个View的对象。TableRow可以添加子控件,每添加一个为一列。

TableLayout特有的布局属性如下:

android:layout_colum:设置该控件在TableRow中所处的列。

android:layout_span:设置该控件所跨越的列数

android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,则用逗号将需要隐藏的列序号隔开 

android:stretchColumn:设置指定的列为可伸展的列,可伸展的列会尽量伸展以填满所有可用的空间,若有多列需要设置为可伸展,则用逗号将需要伸展的列序号隔开。

android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽以至于让其他列显示不全时,会纵向延伸空间。当需要设置多列为可收缩时,则将列序号用逗号隔开。

注意:TableLayout中的column的编号是从0开始的。

4:GridLayout: 网格的布局方式.

GridLayout布局使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列(跨行、跨列)。

5:ScrollView: 滚动视图.

ScrollView也是一种常见的Layout,可以让它内部的数据显示不下的时候出现垂直滚动条,要注意的是不能ScrollView中放多个组件

HorizontalScrollView水平滚动类,它除了滚动方向外,跟ScrollView很相似

6FrameLayout: 帧布局方式,内部的元素,是一层一层的叠加在一起.

    FrameLayout是最简单的布局形式。

    所有添加到这个布局中的视图都以层叠的方式显示。

    第一个添加的控件被放在最底层,最后一个添加到FrameLayout中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。

    这种显示方式有些类似于堆栈。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值