这一部分主要是掌握两点:
1、对于父控件的位置布局。
2、对于同级别控件的位置布局。
对于描述button的新信息只有人如下一小段:描述位置的只有标红的两行。
很明显控件会被系统的安排在左上角的位置。
centerHorizontal从翻译上看是:中间水平布局,我们看看运行效果:
可以看到button控件移动到了最上方中间的位置,纵向方向上并没有改动。
centerVertical:根据上面的对比不难理解这是纵向中间位置。
centerVertical+centerHorizontal那就是因该在正中间的位置喽,下面运行一下证明我们的猜测:
哈哈,果真是,是不是很神奇。
再看下效果:
也就是说,这一行代码就可以将button按钮成功的放置在正中央的位置。
记得但是我的任务是将这些button的按键对应设备上的Led灯的状态,界面的开发是另一位同事在做,我主要解决底层Linux的驱动以及Android JNI c的过程,大家请原谅我。
请注意代码的变化,高度属性改为match_parent,替换 android:layout_alignParentLeft="true"。
align:对齐 parent:父控件 Left最左端alignParentLeft。
将button控件布置在最左端,并且高度适配父控件的高度。
对应的全部代码为:
我们以button控件为例子讲解了子控件对于父控件的布局。
这里要特别留意6个布局属性的相互作用所产生的效果:
1)android:layout_width="wrap_content"
2)android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
3)android:layout_alignParentLeft="true"
4)android:layout_alignParentRight="true"
5)android:layout_alignParentTop="true"
6) android:layout_alignParentBottom="true"
这一次布局代码有些不一样:
多加了一行带有ID的属性,这个button作为我们子控件的相对位置参照物,在代码角度需要id作为参照。
我们继续修改代码:
增加了一个Button控件,同时有相应的两行布局属性:
android:layout_above="@id/button_mid" 针对@id/button_mid控件在其“上部”
android:layout_alignLeft="@id/button_mid"针对@id/button_mid控件“左对齐”
如下:
同理我们可以继续完成下面的视图布局:
修改代码如下:
1、对于父控件的相对位置属性字符串中都有一个*parent*请留意。
相对主要从四个方位考虑:“上”、“下”、“左”、“右”。
2、子类对子类首先要明确参照物,对参照物增加ID值,对这个参照物布局主要考虑两个方向四中坐标。
|
上 |
下 |
左 |
上左 |
下左 |
右 |
上右 |
下右 |