Android布局示例全集与Activity数据交互演示

需积分: 9 5 下载量 138 浏览量 更新于2025-03-21 收藏 2.47MB RAR 举报
在Android开发中,布局(layout)是构造界面的重要部分,它负责定义应用中各个界面元素的位置和排列方式。本知识点将围绕标题中提到的“android layout demo”进行详细介绍,涵盖Android布局的基础知识、常见布局类型、以及Activity间通信与数据返回的机制。 ### Android布局基础 Android布局是用于组织界面元素的一套设计模式,这些元素包括文本视图(TextView)、按钮(Button)、图像视图(ImageView)等。在Android中,常用的布局类型包括线性布局(LinearLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)、帧布局(FrameLayout)和网格布局(GridLayout)等。 - **线性布局LinearLayout**:元素按垂直或水平顺序排列。 - **相对布局RelativeLayout**:元素相对于彼此或父容器定位。 - **表格布局TableLayout**:元素在行和列中排列,类似于HTML中的表格。 - **帧布局FrameLayout**:一般用于叠加视图,每个子视图占据一帧。 - **网格布局GridLayout**:元素分布在行和列的交叉点上。 ### Android常见布局类型深入 1. **线性布局(LinearLayout)** 线性布局是最简单的布局之一,它将界面元素安排在一条线上,可以是水平或垂直排列。通过`android:orientation`属性来控制方向,`android:layout_weight`属性可以用来分配各子元素在布局中的相对权重。 2. **相对布局(RelativeLayout)** 相对布局提供了更灵活的布局方式,允许子视图相对于彼此或父布局进行定位。常见的属性如`android:layout_above`(置于上方)、`android:layout_below`(置于下方)、`android:layout_toRightOf`(置于右侧)等。 3. **表格布局(TableLayout)** 表格布局允许界面元素按行和列排列,类似于HTML中的表格。表中每一行(<TableRow>)可以包含多个视图元素,通过`android:stretchColumns`、`android:collapseColumns`等属性可以对列进行配置。 4. **帧布局(FrameLayout)** 帧布局是用于放置单个子视图的布局,其子视图层叠在一起。通常用于创建浮动操作按钮或者弹出窗口。 5. **网格布局(GridLayout)** 网格布局是一种较为先进的布局方式,它提供了一个可以动态定义行和列的网格系统。它支持更复杂的界面结构设计,且布局更加直观,易于管理。 ### Android Activity间的数据通信 在“android layout demo”中提到的Activity间的数据通信,通常是指Intent、Bundle和SharedPreferences等机制。 1. **使用Intent传递数据** Intent是Android中用于不同组件间通信的一个轻量级消息传递对象。可以使用`Intent`在不同Activity间传递数据,使用`putExtra()`方法添加数据,接收方通过`getIntent().getExtras()`等方法获取。 2. **使用Bundle传递数据** Bundle是一个不可变的键值对集合,它可以和Intent一起使用来传递复杂类型的数据。可以在启动新Activity前,通过`Intent`的`putExtras()`方法将`Bundle`放入`Intent`,之后在目标Activity中通过`getExtras()`方法取出。 3. **使用SharedPreferences存储数据** SharedPreferences提供了简单的接口来读写持久的key-value对数据。适合用来存储少量的数据,比如用户设置、游戏分数等。通过`getSharedPreferences()`方法可以获取SharedPreferences实例,并进行读写操作。 ### Android Activity间返回数据 Activity间返回数据通常涉及到startActivityForResult()和setResult()方法的使用。 1. **startActivityForResult()方法** 当前Activity启动另一个Activity进行某些操作时,可以使用`startActivityForResult()`方法。这个方法不仅启动目标Activity,而且同时会为当前Activity注册一个请求码,用于后续识别返回的数据来源。 2. **setResult()方法** 当一个Activity完成操作后,它需要返回数据给启动它的父Activity,这时可以使用`setResult()`方法。此方法允许我们设置返回码和携带的数据,一般使用`RESULT_OK`或`RESULT_CANCELED`作为返回码,携带的数据则存储在Intent中。 3. **onActivityResult()方法** 启动Activity的父Activity需要覆写`onActivityResult()`方法来接收返回的数据。通过判断请求码和返回码,可以获取到携带的Intent数据,进而执行相应的逻辑处理。 综上所述,本知识点全面介绍了Android布局的基本概念、常见布局类型的使用、以及Activity间数据通信和返回数据的机制。这些知识是Android应用开发中实现界面布局和组件交互不可或缺的部分。通过实例演示和代码实现,开发者可以更好地理解并应用这些知识点,从而开发出结构合理、交互流畅的Android应用。