一、什么是View
Activity是Android程序的显示层,每一个显示窗口都是一个Activity;可是Activity本身无法显示在屏幕上,我们可以把它理解成是一个抽象层,一个壳子;就譬如一个JSP页面,它本身并没有显示出来任何东西,负责显示的是他生成的HTML标签。那么Android里谁才是真正显示出来的部分?--是View和ViewGroup,而ViewGroup其实也是View的子类。
有了上述的概念,我们现在可以讲明白一个Activity中的显示元素是如何显示出来的了。首先UI组件是按层次结构来由外到内的方式逐步展示的。要将一个屏幕元素层次树绑定在一个屏幕上显示,Activity会调用它的setContentView()方法并且传入这个层次树的根节点引用。当Activity被激活并且获得焦点时,系统会通知activity并且请求根节点去计算并绘制树,根节点就会请求它的子节点去绘制它们自己。每个树上的ViewGroup节点会负责绘制它的子节点。ViewGroup会计算它的有效空间,布局所有的子显示对象,并最终调用所有的子显示对象的 Draw()方法来绘制显示对象。各个子显示对象可以向父对象请求它们在布局中的大小和位置,但最终决定各个子显示对象的大小和位置的是父对象。
二、常用Layout介绍
ViewGroup是个特殊的View,它继承于Android.view.View。它的功能就是装载和管理下一层的View对象或ViewGroup对象,也就说他是一个容纳其它元素的的容器。ViewGroup是布局管理器(layout)及view容器的基类。 ViewGroup中,还定义了一个嵌套类ViewGroup.LayoutParams。这个类定义了一个显示对象的位置、大小等属性,view通过LayoutParams中的这些属性值来告诉父级,它们将如何放置。
ViewGroup是一个抽象类,所以真正充当容器的是他的子类们。帧布局FrameLayout,线性布局LinearLayout,绝对布局AbsoluteLayout,相对布局RelativeLayout,表格布局TableLayout等为几个常用布局。
RelativeLayout用到的一些重要的属性:
第一类:属性值为true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物
第二类:属性值必须为id的引用名“@id/id-name”
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐
第三类:属性值为具体的像素值,如30dip,40px
android:layout_marginBottom 离某元素底边缘的距离
android:layout_marginLeft 离某元素左边缘的距离
android:layout_marginRight 离某元素右边缘的距离
android:layout_marginTop 离某元素上边缘的距离
分享到:
相关推荐
在Android应用开发中,UI(用户界面)设计是至关重要的,因为它直接影响到用户的交互体验。"basic-UI.rar_android_ui主键"这个压缩包显然包含了关于Android基础UI编程的资源,特别是关注“主键”这一概念。在Android...
在Android开发中,UI组件是构建用户界面的基础,它们提供了与用户交互的视觉元素。本节我们将深入探讨其中的一个基本组件——ImageView,它是用来显示图片的重要控件。"017_androidUI组件之 Basic View- ImageView...
服务(Service)是Android中实现后台长时间运行任务的组件,运行时不会提供用户界面,但是会执行一些需要长时间运行的操作。 #### 9. String 和 StringBuilder 字符串处理是编程中的基础操作,包括对字符串的连接、...
Android提供了丰富的Material Design组件,如`Button`、`CardView`、`Chip`、`BottomNavigationView`等。这些组件都遵循Material Design规范,提供了预设的样式和行为,使得开发者能够快速构建界面。 4. **...
以上内容仅是基础Android应用开发的一部分,实际的`Basic-Android-App`项目可能还包括更多的细节,如数据持久化、网络通信、自定义View、动画效果等。对这些概念的理解和实践是成为一名合格Android开发者的第一步。...
在Android开发中,UI组件是构建用户界面的基础,它们提供了丰富的功能来呈现应用程序的视觉元素。本教程聚焦于“TextView”这一基本视图组件,它是Android应用中最常用的控件之一,用于显示文本信息。通过“016_...
【Android-Basic-Question-And-Answer-Application】是一个针对初学者设计的项目,它涵盖了Android开发中的基础知识,包括使用Java编程语言以及Android Studio IDE。这个应用提供了常见问题与解答,帮助用户理解并...
总结来说,"Kotlin_Basic_UI"涵盖了Kotlin在创建Android用户界面时的关键技术,包括XML布局的使用、Kotlin的特性如协程和扩展、以及现代开发工具如Jetpack Compose和Android架构组件。理解并掌握这些知识点对于成为...
"architecture-samples-master"中的"clean-architecture-components"示例,展示了如何应用这种模式,使业务逻辑、数据层和用户界面层清晰分离。 4. **Repository模式** Repository模式是数据访问层的一种设计模式...
- 使用XML布局文件设计用户界面,包含各种View(如Button、TextView)和ViewGroup(如LinearLayout、RelativeLayout)。 - **数据绑定**允许将XML布局中的UI元素直接绑定到Kotlin类的属性,简化了UI更新。 6. **...
### Android开发入门知识点详解 #### 一、核心概念(Part I: Core Concepts) **1.1 大局观(Chapter 1: The Big Picture)** - **知识点:** - Android平台简介 - Android应用架构 - 应用组件(Activity、...
Activity在Android系统中扮演着核心角色,它是应用程序的基本构建块,用于显示用户界面并处理用户交互。以下我们将讨论几种常见的Activity效果及其实现方法: 1. **启动动画(Launch Animation)**: 启动动画是...
在Android应用开发中,Fragment是Android SDK中的一个重要组件,它被设计用来支持多屏幕适配和复杂的用户界面设计。Fragment可以看作是Activity的一部分,它有自己的生命周期和UI元素,可以在Activity之间共享,也...
根据给定的信息,本文将对Android控件及资源管理的相关知识点...此外,Android还提供了一系列控件如`Button`,帮助开发者快速构建功能丰富的用户界面。理解和掌握这些基础知识对于开发高质量的Android应用至关重要。
- **第26章:Focusing on Tablets and Larger UIs 关注平板电脑和更大的用户界面** - 介绍针对平板电脑等大屏幕设备的设计考虑。 - 讨论如何利用额外的空间改进用户体验。 - **第27章:Using the Action Bar 使用...
在Android中,创建复杂用户界面的关键在于理解和掌握视图(View)和输入处理。 ##### 4.1 SurfaceView `SurfaceView`是用于显示动态内容的一个特殊视图,适用于需要高性能渲染的应用场景,如游戏开发。 ##### 4.2 ...