接上文
布局管理器的嵌套就是将多种布局管理器混合使用,以达到复杂布局的排版效果。如果一个布局页面效果复杂,可能使用一种布局管理器无法完成,那么我们就需要将多种布局管理器嵌套起来以达到显示效果。在Web开发中,编写的CSS基本都是设置嵌套元素的样式的,这个理念是类似的。
几种布局管理器都已经介绍过了,我们直接在Eclipse中建立新的项目来说明:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="文字提示信息" />
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/img1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/img2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
<ImageView
android:id="@+id/img3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher" />
</LinearLayout>
</LinearLayout>
相对以前的代码,这个有些复杂,我们一层一层来看,首先外部是个线性布局(该布局管理器垂直放置各个元素),放置了一个文本显示组件TextView,并且设置这个组件为居中显示。之后嵌套了一个线性布局管理器(该布局管理器设置水平放置各个元素),嵌套的布局管理器中放置了三幅图片,那么运行该布局管理器来看看显示效果:
下面我们继续嵌套,在内部线性布局管理器之下,我们平行放置一个表格布局管理器:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<TableRow>
<EditText
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="输入关键字进行搜索" />
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜索" />
</TableRow>
</TableLayout>
这里面也没有什么可多说的,直接运行程序,我们可以看到:
只是在嵌套布局管理器时我们要注意设置各个布局管理器的layout_height为包裹高度,而不能设置成为填充屏幕,否则该布局管理器就会占据剩余屏幕整个内容,而其它的布局管理器将无法显示。
在嵌套布局管理器时,页面的排版已经非常的复杂了,而若想使用Java代码对其进行控制,这个难度就已经很大了,所以在复杂布局管理器下不建议再编写Java代码来控制了,使用XML文件来布局是比较简单的方式。
代码请参考附件
接下文
- 大小: 35.1 KB
- 大小: 50.6 KB
分享到:
相关推荐
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
在黑马66期的Android学习笔记中,重点讲解了线性布局的特性及其在实际应用中的运用。下面将详细阐述线性布局的相关知识点。 一、线性布局介绍 线性布局按照垂直或水平方向排列其子视图(Views),这些子视图会依次...
这篇“android学习笔记2”着重探讨了五种常见的Android布局,它们分别是线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)、网格布局(GridLayout)以及约束布局(ConstraintLayout)。...
在“xamarin学习笔记A04(安卓基本布局)”中,我们将深入探讨以下几个关键知识点: 1. **布局类型**: - **线性布局(LinearLayout)**: 这是最基础的布局,可将子视图水平或垂直排列。可以设置权重分配,使得子...
在“android学习笔记3”中,我们重点探讨了Fragment的概念、用途以及如何在实际项目中有效地使用它。 Fragment是Android SDK引入的一个关键组件,主要为了解决在不同屏幕尺寸(如手机和平板)上的适配问题。它可以...
- **CollapsingToolbarLayout**: 折叠式的布局容器,用于管理标题和其他元素的位置变化。 - **ImageView**: 作为背景图片显示。 - **Toolbar**: 实际显示的 Toolbar。 示例代码: ```xml <androidx....
在新版Android开发教程笔记6中,我们深入探讨了应用3和4中的布局管理器,旨在帮助开发者更好地理解和创建高效、美观且用户友好的UI。 首先,Android提供了多种布局类型,每种都有其特定的用途。例如: 1. **线性...
- 布局嵌套和约束:可以通过嵌套不同的布局来实现复杂的界面结构。在布局中使用诸如MATCH_PARENT和WRAP_CONTENT来控制子视图的大小。 - 事件处理:在Android中,需要处理各种用户交互事件,如点击、触摸等。通常需要...
总结起来,这份教程将引导学习者掌握Android UI开发的基本概念,包括XML布局、组件使用、布局管理、Activity与Fragment交互、事件处理、样式与主题以及动画系统。通过深入理解和实践这些知识点,开发者能够创建出...
3. **DroidDraw学习笔记**:DroidDraw是一款已停更的图形界面工具,它可以帮助初学者快速设计简单的Android界面。虽然现在已被Android Studio的布局预览功能替代,但了解它的原理有助于理解UI设计。 以上知识点只是...
开发者需要学会使用内存分析工具,如MAT (Memory Analyzer Tool) 和Android Studio的内存分析器,找出并修复内存泄漏。此外,理解引用类型(强引用、软引用、弱引用和虚引用)的区别和使用场景也是关键。 2. **渲染...
开发者可以通过这个示例学习如何嵌套其他视图组,实现可滚动的复杂布局。 9. **Examples_03_04**: 类似于前面的Examples,这可能涉及到3月4日讨论或学习的特定Android开发主题,如广播接收者、服务、权限管理或通知...
布局管理器帮助开发者组织应用界面中的各个组件,例如线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)和约束布局(ConstraintLayout)。身高体重的例子可能是在演示如何根据用户的...
"Layout课件Part1"是针对初学者的基础教程,旨在帮助新接触这一领域的学习者建立对布局管理器的基本理解和应用技巧。 布局是任何用户界面(UI)设计的基础,它决定了应用程序中各个组件(如按钮、文本、图像等)的...
在本篇自学笔记中,我们将学习如何通过代码来操控UI元素,让应用具有实际的功能。在前面的教程中,我们已经搭建了一个美观的布局,现在我们将进一步添加代码,使其能够响应用户的操作。 首先,为了展示搜索结果,...
总之,这份包含个人学习笔记的Navigation Drawer代码库提供了一个学习和实践Android导航抽屉设计模式的宝贵资源,涵盖了从基础到进阶的各种知识点,对于提升Android应用开发技能大有裨益。通过深入研究和实践,...
- **CoordinatorLayout**:布局容器,允许子视图之间进行复杂的相互作用,如嵌套滚动和依赖布局。 - **CollapsingToolbarLayout**:可折叠的标题栏,常用于配合AppBarLayout实现类似Material Design中的滚动效果。...
- **代码优化**:避免使用过多的布局嵌套、减少不必要的网络请求; - **内存管理**:及时释放不再使用的对象、避免内存泄漏; - **性能监测**:定期检查应用的 CPU 使用率、内存占用情况等。 #### 内网通信问题及...