- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【Android开发API】用户界面 - 自定义控件 - Custom Components
eoe 移动开发者社区
负责⼈:GloriousOnion
主任务原文链接:/guide/topics/ui/custom-components.html
Android平台提供了⼀套完备的、功能强⼤的组件化模型 于搭建 户界面,这套组件化模型以View和
ViewGroup这两个基础布局类为基础 。平台本身已预先实现了多种 于构建界面的View⼦类和ViewGroup⼦类,
他们被分别称为部件 (widget)和布局 (layout) 。
部件 (widget)包括Button 、TextView 、EditText 、ListView 、 heckBox 、RadioButton 、Gallery 、Spinner等这
些常 部件以及有着专门 途的Auto ompleteTextView 、ImageSwitcher和TextSwitcher 。
布局 (layout)包括:LinearLayout 、FrameLayout 、RelativeLayout等,如果需要查看更多实例,请查看通 部
件对象 。
如果这些已有部件和布局不能满足需求,您可以按需实现View⼦类 。如果对已有的部件和布局进行⼩调整就能满
足需求,可以通过继承部件或布局并重载特定方法的方式轻松实现 。
开发者通过构造View⼦类可以对屏幕元素的样式及功能进行精确控制 。为了使您对定制View 的可控性有⼀个直观
了解,下面给出可以对定制View进行操作的⼏个实例:
您可以将View定制成特别样式,比如⼀个使 2D图片渲染的音量调节器可以做成模拟电路控制的样⼦ 。
您可以将⼀组View组件合成为⼀个新的独立组件,比如制作⼀个下拉列表框 (弹出列表和输⼊框的组合) 、双区
域选择控制器 (有左 、右两个选择区域,选择框中的元素可随意切换其左右位置)等等 。
您可以重载EditText组件的屏幕绘制方式 (NotePad教程很好地利 了这⼀点,使之产生了带有下划线的记事本页
面) 。
您可以监听多种事件 (包括按下按键事件),并可以定制这些事件的处理方式 。
以下⼩节会介绍如何定制View ,并将其 于App 中。若需要更详尽的参考信息,请查看View类 。
基基本本方方法法
以下是定制View组件的步骤总览:
使使新新类类继继承承 自自View类类或或其其⼦⼦类类 ;;
重重载载父父类类特特定定方方法法 。。被被重重载载 的的父父类类方方法法通通常常
以以“on”开开头头 ,,例例如如 ::onDraw() 、、int) onMeasure()
onKeyDown()](/reference/android/view/View.htm #onKeyDown(int,) ,,
这这与与您您重重载载Activity或或ListActivity 中中的的事事件件 以以控控制制
生生命命周周期期和和钩钩⼦⼦函函数数 的的做做法法类类似似 ;;
使使 该该扩扩展展类类 。。完完成成后后 ,,这这个个扩扩展展类类便便可可代代替替其其父父
类类使使 ,,并并体体现现 出出新新 的的特特性性 。。
⼩提示:扩展类可以被定义为使 它的Activity 的内部类,这样做可以控制扩展类的范文权限,但这并不是必须
的 (有可能您需要创建⼀个可以在App 中多处 到的扩展类) 。
完完全全定定制制 的的组组件件
不论您对于视图组件的期望多么夸张,完全定制的组件都可以实现,包括实现⼀个看起来像旧模拟仪表盘的图形
化紫外线辐照计,或者实现⼀个有着进度标记的长文本使之就像⼀台卡拉ok机的字幕 。总之,这些特殊功能不可
以通过已有组件实现,而且组合使 已有组件也不能满足需求 。
幸运的是,您可以轻松构建⼀个样式 、外观完全满足您需要的新组件,包括控制新组件在屏幕上所 占区域⼤⼩和
在运行时的耗电量 (需要牢记的是您的App将安装在相比⼯作站电量要有限得多的移动设备上) 。
创建⼀个完全定制的组件需要以下⼏步:
完完全全定定制制 的的组组件件通通常常继继承承 自自View类类 ,,所所 以以搭搭建建完完全全
定定制制 的的组组件件 的的第第⼀⼀步步通通常常是是继继承承该该类类 ;;
可可 以以向向完完全全定定制制 的的组组件件加加⼊⼊⼀⼀个个接接收收XML属属性性和和参参
数数
您可能关注的文档
- 16秋 毛概 作业3答案.docx
- 全套 宏观经济学 华东理工网络学院在线作业.doc
- 2013.12.18微机原理及应用.doc
- 青海湖及其相邻水系特有裸鲤属鱼类的分子系统发育.pdf
- Java入门及例子 (Tomcat, Android, 环境设定).pdf
- 文化引领 专业体现 品牌打造_众业人力资源管理顾问有限公司学习心得.doc
- 我国企业现有产品.doc
- 浅析财务分析i其主要指标.doc
- 战略分析的工具.doc
- 信息社会企业管理创新.doc
- 普通高等学校招生全国统一考试英语试题及答案安徽卷 - 高考.docx
- 适合长沙初二下学期英语期末测试卷及答案 - 试题.docx
- 小学三年级上册湘少版英语全册教案 - 小学学案.docx
- 英语复习·单元重点复习夯基固本提分():UnitCultureShock.docx
- 英语复习·创新写作习作规范提能()第二章第四节应用文——通知、海报、活动介绍.docx
- 英语复习·单元重点复习夯基固本提分():UnitEnvironmentalProtection.docx
- 英语复习·单元重点复习夯基固本提分():UnitNewFrontiers.docx
- 英语复习单元检测卷1.docx
- 英语复习单元检测卷8.docx
- 英语复习单元检测卷5.docx
文档评论(0)