第2章 Android应用的界面编程-【千锋教育】Android从入门到精通

2023-03-21
| 48页
| 226人阅读
| 0人下载
教辅

内容正文:

第2章 Android应用的界面编程 界面编程和视图 布局管理器 几组重要的UI组件 了解界面编程和视图 掌握两种重要的Adapter用法 掌握Android界面的几种布局方式 掌握常用的集中UI组件 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 2.1 界面编程和视图 2.1.1 视图组件和容器组件 2.1.2 使用XML布局文件控制UI界面 2.1.3 在代码中控制UI界面 2.1.4 自定义UI组件 目录 Contents 初心至善 匠心育人 2.1.1 视图组件和容器组件 Android应用的绝大多数UI组件都是放在Android.widget包及其子包、Android.view包及其子包中。值得注意的是,Android中所有的组件都是继承了View类,View组件代表一个空白的矩形区域。View类还有一个重要的子类ViewGroup,但ViewGoup类经常作为其他组件的容器使用。 Android的所有UI组件都建立在View、ViewGroup基础之上,它们的组织结构如图所示。 初心至善 匠心育人 2.1.1 视图组件和容器组件 在第1章中提到,Android讲究逻辑层和视图层分离,开发中一般不在Activity中直接编写界面,而是在布局文件中编写。Android中所有组件都提供了两种方式来控制组件的运行: 在XML布局文件(即前面说的layout文件)中通过XML属性进行控制。 在Java代码(一般是指Activity)中通过调用方法进行控制。 不管使用哪种方式,其本质和显示出来的效果是一样的。对于View类而言,由于它是所有UI组件的基类,所以它包含的XML属性和方法是所有UI组件都可以使用的。而ViewGroup类虽然继承了View类,但由于它是抽象类,因此实际使用中通常只是用ViewGroup的子类作为容器。下面来详细讲解两种控制UI组件的方式。 初心至善 匠心育人 2.1.2 使用XML布局文件控制UI界面 Android推荐使用这种方式来控制视图,因为这样不仅简单直接,而且将视图控制逻辑从Java代码中分离出来,单独在XML文件中控制,更好地体现了MVC原则。 在第1章介绍项目的结构目录时,布局文件是放在app\src\main\res\layout文件夹下面,然后通过Java代码中setContentView()方法在Activity中显示该视图的。 在实际开发中,当遇到有很多UI组件时(实际上这种情况很常见),各个组件会通过android:id属性给每个组件设置一个唯一的标识。当需要在代码中访问指定的组件时(例如设置单击事件),就可以通过id值,利用方法findViewById(R.id.id值)来访问。 初心至善 匠心育人 2.1.2 使用XML布局文件控制UI界面 在设置UI组件时有两个属性值最常用:android:layout_height、android:layout_width,这两个属性支持两种属性值: (1)match_parent:指定子组件的高度和宽度与父组件的高度和宽度相同(实际还有填充的空白距离)。 (2)wrap_content:指定组件的大小恰好能包裹它的内容。 Android机制决定了UI组件的大小不仅受它实际宽度和高度的控制,还受它所在布局的高度和宽度控制,所以在设置组件的宽高时还要考虑布局的宽高。 其实在XML文件中编写界面还有很多的属性,比如gravity、LinearLayout中的orientation、RelativeLayout中的centerInParent属性等等,这些属性在之后的内容中都会讲到。 初心至善 匠心育人 2.1.3 在代码中控制UI界面 虽然Android中推荐使用XML方式来控制UI界面,但是有时碰到一些特殊情况,例如只需要一个组件时,在代码中采用new的方式比较合适。 下面来看一个完全由代码控制的UI界面的简单应用,具体示例代码如下: 初心至善 匠心育人 2.1.3 在代码中控制UI界面 上面代码的中使用的三个组件LinearLayout、textView、button都是使用关键字new创建的,setContentView()方法加载new 出来的LinearLayout作为布局“容器”,再通过LinearLayout类的addView()方法把TextView和Button添加进“容器”,这样就组成如图所示界面。 初心至善 匠心育人 2.1.3 在代码中控制UI界面 可以看出每new一个组件都会传入一个this参数,这是由于创建UI组件时需要传入一个Context类型的参数,Context代表访问Android应用环境的全局信息的API。让UI组件持有一个Context参数,可以让这些UI组件通过

资源预览图

第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
1
第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
2
第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
3
第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
4
第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
5
第2章 Android应用的界面编程-【千锋教育】Android从入门到精通
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。