UI界面-线性布局

        首先要说的是,在Android中其界面组件“丰富多彩”,这相对来说如果不能很好地理顺它们的内在联系的话,将不能完美地向用户展现出美观且有着良好交互性的界面。所以针对这种情况,Android以ViewGroup为基类派生出了布局管理器。通过使用布局管理器,将布局所用到的UI组件放置到其中,这样使得Android应用的图形用户界面具有了良好的平台无关性,UI组件的分布和大小只在布局管理器中显示。而程序员要做的是为容器选择合适的布局管理器。

        在Android中有五种布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、表格布局(TableLayout)、绝对布局(AbsoluteLayout)。

在这里将介绍线性布局(LinearLayout)。

线性布局:

        在XML中用LinearLayout来代表,它对于Swing编程来说有点像Box,它们都是将容器里的组件一个挨着一个地排列起来的,使用LinearLayout时一定要指定其布局方向(水平/垂直)。(当然宽高的指定是除了表格布局之外每个布局都必须要设置的)在指定好布局方向后,组件会自动按其方向一个个排好,如果该方向的空间已占满,其他组件将不会被显示出来。

        相对其他布局来说,LinearLayout有个显著的优点就是它能指定“权重”,所谓权重就是按比例分配剩余空间,也就是说先将各组件自身所占据的像素值减去,之后剩下的像素值按给定的权重值进行比例分配。这也是为什么当要给组件进行等分的时候除了将权重值设置为一致时,还建议将各组件自身的layout_width(或layout_height)设为“0dp

接下来详细地介绍一下LinearLayout布局的一些属性。

首先介绍下布局中常见的一个问题:android:layout_gravity 和 android:gravity 的区别

    android:layout_gravity   该属性设置该子元素在父容器中的对齐方式。

    android:gravity   该属性用于控制它所包含的子元素的对齐方式。

举个例子来说:这是一个Button控件

                                                                                             android:layout_gravity  表示button在界面上的位置

                                                                                             android:gravity   表示button上的字在button上的位置

    android:layout_weight   子元素对未占用空间水平或垂直分配权重值

    android:orientation   用来指定布局方向,以列或行来显示内部子元素

     值得一提的是,当指定布局方向为竖直即android:orientation="vertical"  时,只能左右对齐和水平居中,顶部底部对齐、竖直居中无效; 当指定布局方向为水平即android:orientation="horizontal"  时,只能顶部底部对齐、竖直居中;


Demo:

     效果图:


布局代码如下:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值