线性布局LinearLayout
1、在Android应用中线性布局是最常用的布局,它在xml文件中使用来定义
2、线性布局可以分为水平和垂直方向的布局,可以通过android:orientation="veertical/horizontal"来定义方向,其中vertical是垂直方向,horazontal是水平方向。
3、LinearLayout标签中有一个很重要的属性gravity,该属性用于控制布局中视图的位置,如果设置中多个值选哟使用 | 进行分隔。
4、LinearLayout中layout_width和layout_height属性说明
属性 | 描述 |
---|---|
wrap_content | 填满父控件的空白 |
fill_parent | 表示刚好足够显示当前控件里的内容Android中fill_parent和match_parent是一样的 |
match_parent | 在Android2.2中match_parent,不用fill_parent |
5、android:layout_weight权重的描述
layout_weight用于给一个线性布局中的诸多视图的重要度赋值
所有的视图都有一个layout_weight值,默认为0,意思是需要显示
多大的视图就占据多大的屏幕空间。若赋一个高于零的值,则将父视图的可用空间分割,分割大小具体取决于每一个视图的layout_weight值以及该值在当前屏幕布局的整体layout_weight值和在其它视图屏幕布局的layout_weight值中所占的比率而定。
例如:简易计算器
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.button.CalculateActivity"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp"
>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="简单计算器"
android:textSize="25sp"
android:textColor="@color/colorBlack"
android:gravity="center"/>
<EditText
android:id="@+id/cal_edit"
android:layout_width="match_parent"
android:layout_height="100dp"
android:hint="0"
android:textSize="20sp"
android:focusable="false"
android:gravity="right|bottom"
android:background="@drawable/cal_edit_text"
android:layout_margin="10dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cal_ce"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="CE"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:layout_weight="1"
/>
<Button
android:id="@+id/btn_cal_div"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="÷"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_mul"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="x"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_c"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="C"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cal_7"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="7"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:layout_weight="1"
/>
<Button
android:id="@+id/btn_cal_8"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="8"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_9"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="9"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_add"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="+"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cal_4"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="4"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:layout_weight="1"
/>
<Button
android:id="@+id/btn_cal_5"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="5"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_6"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="6"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_mins"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="-"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cal_1"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="1"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:layout_weight="1"
/>
<Button
android:id="@+id/btn_cal_2"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="2"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_3"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="3"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_rads"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="√"
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btn_cal_0"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="0"
android:textSize="20sp"
android:textColor="@color/colorBlack"
android:layout_weight="2"
/>
<Button
android:id="@+id/btn_cal_point"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="."
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
<Button
android:id="@+id/btn_cal_equals"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="="
android:textSize="20sp"
android:layout_weight="1"
android:textColor="@color/colorBlack"
/>
</LinearLayout>
</LinearLayout>