Android基本布局

布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。

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="Button 1" />
            
	<Button
		android:id="@+id/button2"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
		android:text="Button 2" />
            
	<Button
		android:id="@+id/button3"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
                android:layout_gravity="bottom"
		android:text="Button 3" />
            
</LinearLayout>

android:orientation:排列方向,horizontal(水平排列)、vertical(纵向排列)。

android:layout_gravity:指定控件在布局中的对齐方式。

android:layout_weight:用比例的方式来指定控件的大小。

RelativeLayout(相对布局)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	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="Button 1" />
        
	<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="Button 2" />
        
	<Button
		android:id="@+id/button3"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_centerInParent="true"
		android:text="Button 3" />
        
	<Button
		android:id="@+id/button4"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_alignParentBottom="true"
		android:layout_alignParentLeft="true"
		android:text="Button 4" />
        
	<Button
		android:id="@+id/button5"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:layout_alignParentBottom="true"
		android:layout_alignParentRight="true"
		android:text="Button 5" />
        
	</RelativeLayout>

android:layout_alignParentTop:与父布局的顶边对齐

android:layout_alignParentLeft:与父布局的左边对齐

android:layout_alignParentRight:与父布局的右边对齐

android:layout_alignParentBottom:与父布局的底边对齐

android:layout_centerInParent:与父布局的中间对齐

android:layout_above=”@id/button1″ :让这个控件位于另一个控件(button1)的上方

android:layout_below=”@id/button1″ :让这个控件位于另一个控件(button1)的下方

android:layout_toLeftOf=”@id/button1“:让这个控件位于另一个控件(button1)的左侧

android:layout_toRightOf=”@id/button1″:让这个控件位于另一个控件(button1)的右侧

android:layout_alignLeft=”@id/button1″:让这个控件的左边缘和另一个控件(button1)的左边缘对齐

android:layout_alignRight=”@id/button1″:让这个控件的右边缘和另一个控件(button1)的右边缘对齐

android:layout_alignTop=”@id/button1″:让这个控件的上边缘和另一个控件(button1)的上边缘对齐

android:layout_alignBottom=”@id/button1″:让这个控件的下边缘和另一个控件(button1)的下边缘对齐

FrameLayout(帧布局)

这种布局没有方便的定位方式,所有的控件都会默认摆放在布局的左上角。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent">
        
	<TextView
		android:id="@+id/text_view"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="This is TextView"
		/>
            
	<ImageView
		android:id="@+id/image_view"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:src="@mipmap/ic_launcher"
		/>
            
</FrameLayout>

文字和图片都是位于布局的左上角。由于ImageView是在TextView之后添加的,因此图片压在了文字的上面。

版权声明:本文为tmbto原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tmbto/p/15178049.html