前端 初学 Android (持续更新)

179 阅读1分钟

项目代码 Github 代码

从页面布局开始

1. LinearLayout 线性布局

LinearLayout 线性布局

(父元素) 属性属性功能默认值可选值
orientation="horizontal"控制子元素布局水平货垂直方向horizontalhorizontal / vertical

注意权重 是值元素自身的高度,占比来分配宽度,也就是说如果元素自身有宽度的话按照自身宽度占比

(子元素) 属性属性功能默认值可选值
layout_weight="1"相对父元素占比的宽度NullNumber

2. RelativeLayout 相对布局

子元素属性(需要指定参考元素)介绍
layout_above参考组件的上方组件 ID
layout_below参考组件的下方组件 ID
layout_toLeftof参考组件的左侧组件 ID
layout_toRightof参考组件的右侧组件 ID
layout_alignParentTop相对与父容器上对齐布尔类型
layout_alignParentBottom相对与父容器底对齐布尔类型
layout_alignParentRight相对与父容器右对齐布尔类型
layout_alignParentLeft相对与父容器左对齐布尔类型
layout_alignTop相对与参考上对齐组件 ID
layout_alignBottom相对与参考底对齐组件 ID
layout_alignRight相对与参考右对齐组件 ID
layout_alignLeft相对与参考左对齐组件 ID
layout_centerHorizontal相对于父容器水平位置true / false
layout_centerVertical相对于父容器垂直位置true / false
layout_centerInParent水平垂直居中true / false
<RelativeLayout 
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:layout_height="match_parent"
    android:gravity="center"
    android:ignoreGravity="@id/btn"
    >

    <Button
        android:id="@+id/btn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="更新"
        android:layout_weight="1"
        android:layout_margin="2dp"
        />
</RelativeLayout>


 - 相对父元素布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="默认"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="中间"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:text="右上角" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="右下角" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:text="左下角" />
</RelativeLayout>

- 相对兄弟元素布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:layout_margin="5dp"
        android:text="Button" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@id/button"
        android:textColor="#000"
        android:text="在左边"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_above="@id/button"
        android:text="在顶部"/>


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
       android:layout_toRightOf="@id/button"
        android:text="在右侧"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/button"
        android:text="在右侧"/>
</RelativeLayout>