在Android中有四种基本布局,可以放置很多控件的容器,按照一定的个一律调整控件的位置,从而编写出精美的界面
1)线性布局:LinearLayout
让我们来看一段代码
<LinearLayout xmlns:android="http://schemas,android.com/apk/res/android">android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" //android:layout_gravity="top" android:text="Button1"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" //android:layout_gravity="center_vertical" android:text="Button2"/> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" //android:layout_gravity="bottom" android:text="Button3"/> <LinearLayout/>
其中 orientation:vertical就是线性布局中的垂直布局
将其改为 orientation:horizantal就是线性布局中的水平布局
注释符后的android:l ayout_gravity似乎看起来和android:gravity很像,实际上 android:gravity是用来控制文字的, 而 android:l ayout_gravity是用来控制控件的, 需要注意的是 android:l ayout_gravity只能在垂直布局上用到,因为水平布局中的长度是不固定的,每添加一个就加长 还有一个也很重要的属性:android:layout_weight,这是用来比例控制控件大小 2)相对布局:RelativeLayout
<RelativeLayout xmlns:android="http://schemas,android.com/apk/res/android"> android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:text="Button1"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:text="Button2"/> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text="Button3"/> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentBottom="true" android:text="Button4"/> <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true" android:text="Button5"/> <RelativeLayout/>
这里用到的是layout_alignParentTop,layout_alignParentBottm,layout_alignParentLeft,layout_alignParentRight和layout_centerInParent,他们的意思显而易见
除此以外还有,layout_above,layout_below,layout_toLeftof,layout_toRightof
而layout_alignLeft,layout_alignRight,layout_alignTop,layout_alignBottom,则是利用边缘对齐的方式控制控件
3)帧布局:FrameLayout
它相比于其他两个布局就简单多了,它没有方便的定位方式,所有的控件都会显示在左上角
4)百分比布局:PercentFrameLayout以及PercentRelativelayout
其中有:app:layout_heightPercent,
app:layout_widthPercent
而在实际编程中,会发现一个问题,就是如果页面需要大量的重复控件,那么难道我们要一个个,一遍遍写吗?
Android为我们提供了,引入布局的操作:<include layout="@layout/title"/>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。