




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android用户界面开发,中智讯(武汉)科技有限公司,用户界面基础用户界面布局用户界面控件,用户界面,界面如同人的面孔,具有吸引用户的直接优势,Android应用程序模型,如何实现Android界面,Android界面布局Layout定义了界面中所有的元素、结构和相互关系:使用XML文件描述界面布局在程序运行时动态添加或修改界面布局布局对象在程序中的调用:setContentView()从布局文件加载布局及控件findViewById()从资源中找到控件,AndroidXML布局文件,使用XML文件声明界面布局的特点将程序的表现层和控制层分离在后期修改用户界面时,无需更改程序的源代码用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快界面设计的过程,并且为界面设计与开发带来极大的便利性,简单的XML布局文件,界面对象的常规属性,android:id属性:声明了控件对象的ID,这个ID主要用于在代码中引用这个控件对象“+id/button1”表示所设置的ID值表示后面的字符串是ID资源加号(+)表示需要建立新资源名称,并添加到R.java文件中斜杠后面的字符串(button1)表示新资源的名称如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如android:id=android:id/empty,android:id=+id/button1,界面对象的常规属性,android:layout_width属性:用来设置控件对象的宽度,fill_parent表示控件对象的宽度将等于父控件的宽度android:layout_height属性:用来设置控件对象的高度,wrap_content表示控件对象的宽度只要能够包含所显示的字符串即可,android:layout_width=fill_parentandroid:layout_height=wrap_content,界面对象的常规属性,Android中使用的单位px:表示屏幕实际的像素数。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米,形容手机屏幕大小用的是屏幕的对角线长度。mm:表示毫米,是屏幕的物理尺寸。pt:表示一个点,是屏幕的物理尺寸,大小为1英寸的1/72。dp(密度独立像素):也作dip,是一种基于屏幕密度的抽象单位。基本密度是160dpi,如果屏幕密度提高,则dp对应的实际px数也会相应的提高。sp(scale独立像素):用于字体的一种基于屏幕密度的抽象单位。,android:layout_width=“120dp,界面对象的常规属性,android:text属性:用来设置控件对象上显示的文字内容,android:text=Button,引入资源,引入资源:将download.png文件拷贝到/res/drawable文件夹下在/res目录上选择Refresh新添加的文件将显示在/res/drawable文件夹下R.java文件内容也得到了更新否则提示无法找到资源的错误,程序加载XML资源,通过调用方法:setContentView()可以实现对Layout布局资源的调用:,publicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);,程序创建对象及引用,通过调用方法:findViewById()可以实现对控件对象的引用:,ButtonmyButton=(Button)findViewById(R.id.button1);myButton.setText(test);,可视化编辑器,用户界面基础用户界面布局用户界面控件,Android界面布局,Android界面布局Layout定义了界面中所有的元素、结构和相互关系。,常用的布局对象,Android操作系统提供下列5种窗体布局:线性布局(LinearLayout)框架布局(FrameLayout)表格布局(TableLayout)相对布局(RelativeLayout)绝对布局(AbsoluteLayout),线性布局-LinearLayout,线性布局LinearLayout在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列如果垂直排列,则每行仅包含一个界面元素如果水平排列,则每列仅包含一个界面元素,Android:orientation=“vertical”或Android:orientation=“horizontal”,线性布局实例,线性布局控件常用属性,框架布局-FrameLayout,框架布局FrameLayout框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角如果有多个子元素,后放置的子元素将遮挡先放置的子元素使用AndroidSDK中提供的层级观察器(HierarchyViewer)进一步分析界面布局,能够对用户界面进行分析和调试,并以图形化的方式展示树形结构的界面布局,表格布局-TableLayout,表格布局TableLayout表格布局(TableLayout)是一种常用界面布局,它将屏幕划分网格,通过指定行和列将界面元素添加到网格中网格的边界对用户是不可见的表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以在表格布局中添加其他界面布局,例如线性布局、相对布局等,相对布局-RelativeLayout,相对布局RelativeLayout相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置特点:能够最大程度保证在各种屏幕类型的手机上正确显示界面布局,绝对布局-AbsoluteLayout,绝对布局AbsoluteLayout绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了界面布局对不同类型和尺寸屏幕的适应能力,布局的嵌套,布局的嵌套是指相同或者不同类型的布局之间可以嵌套使用,其目的是为了利用不同布局的特性,方便构建我们想要得到的图案,布局嵌套实例,用户界面基础用户界面布局用户界面控件,Android用户界面控件,Android系统的界面控件有两种:系统控件:是Android系统提供给用户已经封装的界面控件。提供在应用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快速开发,同时能够使Android系统中应用程序的界面保持一致性定制控件:是用户独立开发的控件,或通过继承并修改系统控件后所产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方式常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、Progress、ListView和TabHost、Dialog、Toast、Notification等,Android控件类型分类,常用控件:TextView、EditText、Button选择控件:CheckBox、RadioButton、Spinner进度条控件:Progress对话框控件:Dialog消息提示控件:Toast,常用控件:TextView、EditText,TextView和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件,TextView,EditText,程序名,EditText实际上是一个具有编辑功能的TextView,控件布局实例,常用函数:setText();getText();,常用控件:Button、ImageButton,Button和ImageButtonButton是一种按钮控件,用户能够在该控件上点击,随后引发相应的事件处理函数ImageButton用以实现能够显示图像功能的控件按钮,控件布局实例,也可以通过程序实现ImageButton上图片的显示:myImageButton.setImageResource(R.drawable.download);,按钮控件的监听,按钮响应点击事件:添加点击事件的监听器,finalButtonmyButton=(Button)findViewById(R.id.button1);myButton.setOnClickListener(newView.OnClickListener()publicvoidonClick(Viewv)/TODOAuto-generatedmethodstubmyButton.setText(我按了Button一下););,监听器,消息响应函数,按钮控件的监听,finalButtonmyButton=(Button)findViewById(R.id.button1);finalImageButtonmyImageButton=(ImageButton)findViewById(R.id.imagebutton1);View.OnClickListenerbuttonListener=newView.OnClickListener()publicvoidonClick(Viewv)/TODOAuto-generatedmethodstubswitch(v.getId()caseR.id.button1:myButton.setText(我按了Button一下);return;caseR.id.imagebutton1:myButton.setText(我按了ImageButton一下);return;myButton.setOnClickListener(buttonListener);myImageButton.setOnClickListener(buttonListener);,选择控件:CheckBox、RadioButton,CheckBox和RadioButtonCheckBox:多选控件RadioButton:单选控件RadioGroup是RadioButton的承载体,程序运行时不可见,在每个RadioGroup中,用户仅能够选择其中一个RadioButton,finalCheckBoxmyCheckBox=(CheckBox)findViewById(R.id.checkbox01);myCheckBox.setText(我的状态是:+myCheckBox.isChecked();myCheckBox.setOnClickListener(newView.OnClickListener()publicvoidonClick(Viewv)/TODOAuto-generatedmethodstubmyCheckBox.setText(我的状态是:+myCheckBox.isChecked(););,CheckBox控件实例,消息提示控件:Toast,Toast是在窗口表面弹出的通知消息。它仅仅是填充消息需要的空间大小,用户当前的activity保留可见性和可交互性。通知会自动的褪掉,它不会接受用户交互事件。,Toast控件实例,myButton1.setOnClickListener(ne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社区心理健康服务心理健康宣传月活动效果优化与推广实践报告
- 2025年乡村文化旅游与乡村旅游产业市场前景研究报告
- 电商平台内容营销与种草经济内容营销团队智能大数据分析应用研究报告
- Cy3-HA-MA-MW-10000-生命科学试剂-MCE
- 3-5-8-11-14-Eicosapentenoyl-CoA-3-5-8-11-14-Eicosapentenoyl-coenzyme-A-生命科学试剂-MCE
- 化工总控工(高级)职业技能考试题库及答案(含各题型)
- 建筑行业面试实战模拟题库
- 面试官必 备知识库:职位面试题及答案详述
- 高校教师招聘面试:物理教研面试题及答案详解
- 2025年电子商务平台运营师专业知识考核试题及答案
- (建筑给排水工程)给水排水管道工程浙江省统一用表
- 舆情应急处理
- 公司事故隐患内部报告奖励机制
- CICARE沟通模式在护理中的应用
- 新媒体运营规范操作手册
- 贵州省工程建设项目“多测合一”技术导则(试行)
- 白象应聘在线测评题
- T-SDLPA 0001-2024 研究型病房建设和配置标准
- 部编人教版九年级上册历史全册教学课件
- 机械设备设计合同范本
- 【Shopee跨境电商平台店铺运营问题及完善策略8000字(论文)】
评论
0/150
提交评论