- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
视图(View)
视图(View) 视图简介 Android用户界面框架采用视图树(View Tree)模型,如图: View是最基本的可视化单元 存储了屏幕上特定矩形区域内所显示内容的数据结构 实现所占据区域的界面绘制、焦点变化、用户输入和界面事件处理等 一个重要的基类,所有在界面上的可见元素都是View的子类 视图简介 视图类可分为三种:布局类(Layout)、视图容器类(View Container)和视图类 ViewGroup是一个容器类,能够承载含多个View的显示单元。所有的布局类和视图容器类都是ViewGroup的子类 承载界面布局 承载具有原子特性的重构模块 系统会依据视图树的结构从上至下绘制每一个界面元素 每个元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所有子元素进行绘制 视图对象的创建 视图对象创建的两种方法 使用XML配置View,使用Java代码装载这些View 完全使用Java代码创建View ① 使用XML布局文件定义视图 XML布局文件是系统中定义视图的常用方法,所有的布局文件必须保存在res/layout目录中,该文件的命名及定义需注意: XML布局文件的扩展名必须是xml XML布局文件名必须符合Java变量名的命名规则,如文件名不能以数字开头 布局文件的根节点可以是任意的控件标签 布局文件的根节点必须包含android的命名空间,而且该值必须是 /apk/res/android 为布局文件中的标签指定ID时需要使用格式:@+id/someId或@id/someId 视图ID的值要符合Java变量的命名规则 视图对象的创建 在获得XML布局文件中的视图对象时需注意: 使用View前必须使用setContentView装载XML布局文件,否则会抛出异常 在不同的布局文件中可以有相同ID值的视图,同一布局文件中也可以有相同ID值的视图,但应尽量避免 不同布局文件中相同ID值的视图,在使用时只能获得已经装载的布局文件中的视图对象 视图对象的创建 ② 使用Java代码创建 在更高级的Android应用中,往往需要动态添加视图。要实现这个功能,最重要的是获得被添加的视图所在的容器对象。 步骤如下: 获得当前的容器视图对象 获得或创建待添加的视图对象 将相应的视图对象添加到容器视图中 代码如下: 视图对象的创建 除了上面的方式外,也可以使用addView方法添加,但需要将inflate的第二个参数设为null,代码如下: 完全使用Java代码创建视图对象并添加到容器视图中的代码如下: 布局(Layout) 为了适应各式各样的界面风格,Android提供了5种布局,利用这5种布局可以将屏幕上的视图随心所欲的摆放,而且视图大小和位置也会随着手机屏幕大小的变化做出调整。 FrameLayout(框架布局) LinearLayout(线性布局) RelativeLayout(相对布局) TableLayout(表格布局) AbsoluteLayout(绝对布局) FrameLayout FrameLayout是最简单的布局方式,所有添加到这个布局中的视图都以层叠方式显示,第一个显示在最低层,最后一个显示在最顶层,上层视图会覆盖下层的视图,因此也可将FrameLayout称为堆栈布局。 FrameLayout布局文件中应使用FrameLayout标签进行配置,下面是一个典型的FrameLayout布局配置代码: LinearLayout LinearLayout是最常用的布局方式,可分为水平和垂直线性布局,通过android:orientation属性设置布局的方向,它在布局文件中使用 LinearLayout 标签进行配置。 LinearLayout 标签有一非常重要的gravity属性,用于控制布局中视图的位置,如果有多个属性值,需要使用“|”进行分隔,并且属性值和“|”之间不能有其他符号。 如下取值表: RelativeLayout和AbsoluteLayout RelativeLayout可以设置某一个视图相对于其他视图的位置,这些位置包括上、下、左、右。设置这些位置的属性是android:layout_above、android:layout_below、android:layout_toLeftOf、android:layout_toRightOf。而这5个属性的值必须是存在的资源ID,也就是另一个视图的android:id属性值。 AbsoluteLayout又可以叫做坐标布局,可以直接指定子元素的绝对位置,这种布局简单直接,直
文档评论(0)