安卓开发学习笔记01_布局

安卓开发学习笔记01_布局

    • 特别声明
    • 布局管理器
      • 线性布局(LinearLayout)
        • 例子
      • 相对布局(RelativeLayout)
        • 例子

特别声明

该笔记是笔者通过学习 天哥在奔跑安卓教学视频 时所编写的

布局管理器

学习布局,建议先查阅 (盒子模型) 这样能更好地理解与掌控该知识点,以下例子均可直接复制到 activity_main.xml 下,可以直观看到效果

线性布局(LinearLayout)

  • 常用属性
  1. android:id
    给该控件设置一个唯一标识
  2. android:layout_width
  3. android:layout_height
  4. android:background
  5. android:layout_margin
    外部元素的边距
  6. android:layout_padding
    内部元素的边距
  7. android:orientation
    设置布局方向

例子

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">
   	<!-- android:orientation 设置了垂直方向上的布局 -->
    <LinearLayout
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_marginBottom="20dp"
        android:background="#000"
        android:padding="20dp">

        <View
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#FF0033" />
		<!-- match_parent 匹配父元素,表示继承父元素该属性 -->
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_margin="15dp"
        android:background="#0066FF"
        android:gravity="left"
        android:orientation="horizontal">
        <!--gravity 用于给子元素布局-->
        <!--android:layout_weight="1" 权重,跟flex = 1 一样-->
        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="#000" />

        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="#FF0033" />

    </LinearLayout>

</LinearLayout>

效果图
安卓开发学习笔记01_布局_第1张图片

相对布局(RelativeLayout)

可以认为是 跟 选定组件(id) 的一个方向对齐

  • 常用属性
  1. android:layout_toLeftOf
    在谁的左边
  2. android:layout_toRightOf
    在谁的右边
  3. android:layout_alignBottom
    跟谁底部对齐
  4. android:layout_alignParentBottom
    跟父组件底部对齐
  5. android:layout_below
    在谁的下面

例子

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <View
        android:id="@+id/view_1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:background="#000">
        <!--        android:layout_alignParentBottom="true"-->
        <!--        android:layout_alignParentRight="true">-->

    </View>

    <View
        android:id="@+id/view_2"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_toRightOf="@+id/view_1"
        android:background="#FF0033"
        android:layout_below="@id/view_1"
        >
    </View>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_below="@id/view_2"
        android:orientation="horizontal"
        android:background="#0066FF"
        android:padding="15dp">
            <View
                android:layout_width="100dp"
                android:layout_height="match_parent"
                android:background="#FF0033"></View>
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#000"
                android:padding="15dp">
                    <View
                        android:id="@+id/view_3"
                        android:layout_width="100dp"
                        android:layout_height="match_parent"
                        android:background="#FF9900"></View>
                <View
                    android:id="@+id/view_4"
                    android:layout_width="100dp"
                    android:layout_height="match_parent"
                    android:background="#FF9900"
                    android:layout_toRightOf="@id/view_3"
                    android:layout_marginLeft="10dp"
                    ></View>

            </RelativeLayout>
    </LinearLayout>
</RelativeLayout>

效果图
安卓开发学习笔记01_布局_第2张图片

你可能感兴趣的:(安卓开发)