Android开发

2.2.1线性布局

2017-10-24  本文已影响0人  EDU_MJ

线性布局的概念

线性布局(LinearLayout)是Android开发中常用的一种布局方式,它是以垂直和水平方式来显示界面中的控件。 它以一对<LinearLayout></LinearLayout>标签进行标识。

常用属性


1 基本属性

属性 含义 属性值
layout_height wrap_content:包裹内容 match_parent:与父控件匹配
layout_width wrap_content:包裹内容 match_parent:与父控件匹配
orientation 方向 vertical:垂直 horizontal:水平
<LinearLayout  
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android: orientation ="vertical">
</LinearLayout> 

2 设置居中

在线性布局中,内部的控件可以通过layout_gravity属性控制对齐方式。

属性 含义
left
right
top
bottom
center_horizontal 水平居中
center_vertical 垂直居中
center 水平垂直居中

在垂直线性布局中,只能设置控件的水平对齐方式。在水平线性布局中,只能设置控件的垂直对齐方式

<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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="one"
        android:layout_gravity="left"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="two"
        android:layout_gravity="center_horizontal"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="three"
        android:layout_gravity="right"
        />
</LinearLayout>

3 设置控件比例

在线性布局中,内部的控件可以使用layout_weight权重属性来控制所占的比例。例如,在垂直线性布局中我们设置三个按钮的高度比例为1:2:3

<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:layout_width="wrap_content"
        android:layout_height="0dp"
        android:text="one"
        android:layout_weight="1"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:text="two"
        android:layout_weight="2"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:text="three"
        android:layout_weight="3"
        />
</LinearLayout>

布局的嵌套

布局之间可以相互嵌套,形成较为复杂的布局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:orientation="vertical"
          android:layout_width="match_parent"
          android:layout_height="match_parent">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="one"
            android:layout_weight="1"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="two"
            android:layout_weight="1"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="three"
            
            />
    </LinearLayout>
</LinearLayout>
上一篇下一篇

猜你喜欢

热点阅读