物联网系列专业课程:Android用户界面开发教学课件

上传人:仙*** 文档编号:241608550 上传时间:2024-07-09 格式:PPT 页数:42 大小:544KB
返回 下载 相关 举报
物联网系列专业课程:Android用户界面开发教学课件_第1页
第1页 / 共42页
物联网系列专业课程:Android用户界面开发教学课件_第2页
第2页 / 共42页
物联网系列专业课程:Android用户界面开发教学课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
2024/7/9/1用户界面基础用户界面布局用户界面控件2024/7/9/2用户界面界面如同人的面孔,具有吸引用户的直接优势2024/7/9/3Android应用程序模型Android应用程序资源源代码Activity控件布局(Layout)图片(Drawable)值(Values)R.java2024/7/9/4如何实现Android界面Android界面布局Layout定义了界面中所有的元素、结构和相互关系:使用XML文件描述界面布局在程序运行时动态添加或修改界面布局布局对象在程序中的调用:setContentView()从布局文件加载布局及控件findViewById()从资源中找到控件布局Activity加载setContentView使用findViewByID2024/7/9/5Android XML布局文件使用XML文件声明界面布局的特点将程序的表现层和控制层分离在后期修改用户界面时,无需更改程序的源代码用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快界面设计的过程,并且为界面设计与开发带来极大的便利性2024/7/9/6简单的XML布局文件线性布局布局方向控件命名空间控件资源ID控件大小控件显示内容2024/7/9/7界面对象的常规属性android:id属性:声明了控件对象的ID,这个ID主要用于在代码中引用这个控件对象“+id/button1”表示所设置的ID值表示后面的字符串是ID资源加号(+)表示需要建立新资源名称,并添加到R.java文件中斜杠后面的字符串(button1)表示新资源的名称如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如android:id=android:id/emptyandroid:id=+id/button12024/7/9/8界面对象的常规属性android:layout_width属性:用来设置控件对象的宽度,fill_parent表示控件对象的宽度将等于父控件的宽度android:layout_height属性:用来设置控件对象的高度,wrap_content表示控件对象的宽度只要能够包含所显示的字符串即可android:layout_width=fill_parentandroid:layout_height=wrap_content2024/7/9/9界面对象的常规属性Android中使用的单位px:表示屏幕实际的像素数。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米,形容手机屏幕大小用的是屏幕的对角线长度。mm:表示毫米,是屏幕的物理尺寸。pt:表示一个点,是屏幕的物理尺寸,大小为1英寸的1/72。dp(密度独立像素):也作dip,是一种基于屏幕密度的抽象单位。基本密度是160dpi,如果屏幕密度提高,则dp对应的实际px数也会相应的提高。sp(scale独立像素):用于字体的一种基于屏幕密度的抽象单位。android:layout_width=“120dp2024/7/9/10界面对象的常规属性android:text属性:用来设置控件对象上显示的文字内容android:text=Button2024/7/9/11引入资源引入资源:将download.png文件拷贝到/res/drawable文件夹下在/res目录上选择Refresh新添加的文件将显示在/res/drawable文件夹下R.java文件内容也得到了更新否则提示无法找到资源的错误2024/7/9/12程序加载XML资源通过调用方法:setContentView()可以实现对Layout布局资源的调用:public void onCreate(Bundle savedInstanceState)super.onCreate(savedInstanceState);setContentView(R.layout.main);2024/7/9/13程序创建对象及引用通过调用方法:findViewById()可以实现对控件对象的引用:Button myButton=(Button)findViewById(R.id.button1);myButton.setText(test);2024/7/9/14可视化编辑器2024/7/9/15用户界面基础用户界面布局用户界面控件2024/7/9/16Android界面布局Android界面布局Layout定义了界面中所有的元素、结构和相互关系。2024/7/9/17常用的布局对象Android操作系统提供下列5种窗体布局:线性布局(LinearLayout)框架布局(FrameLayout)表格布局(TableLayout)相对布局(RelativeLayout)绝对布局(AbsoluteLayout)2024/7/9/18线性布局-Linear Layout线性布局LinearLayout在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列如果垂直排列,则每行仅包含一个界面元素如果水平排列,则每列仅包含一个界面元素Android:orientation=“vertical”或Android:orientation=“horizontal”2024/7/9/19线性布局实例 2024/7/9/20线性布局控件常用属性属性功能android:id 为控件指定相应的ID android:text指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:gravity指定控件的基本位置,比如说居中,居右等位置android:textSize指定控件当中字体的大小android:background指定该控件所使用的背景色,RGB命名法 android:width指定控件的宽度android:height 指定控件的高度android:padding指定控件的内边距,也就是说控件当中的内容android:sigleLine如果设置为真的话,则将控件的内容在同一行当中进行显示,屏幕宽度不够时,将显示省略号android:layout_weight控件的权重,以父控件为整体单位来计算2024/7/9/21框架布局-Frame Layout框架布局FrameLayout框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角如果有多个子元素,后放置的子元素将遮挡先放置的子元素使用AndroidSDK中提供的层级观察器(HierarchyViewer)进一步分析界面布局,能够对用户界面进行分析和调试,并以图形化的方式展示树形结构的界面布局2024/7/9/22表格布局-Table Layout表格布局TableLayout表格布局(TableLayout)是一种常用界面布局,它将屏幕划分网格,通过指定行和列将界面元素添加到网格中网格的边界对用户是不可见的表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以在表格布局中添加其他界面布局,例如线性布局、相对布局等TextViewEditTextRow 1ButtonButtonRow 2表格布局2024/7/9/23相对布局-Relative Layout相对布局RelativeLayout相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置特点:能够最大程度保证在各种屏幕类型的手机上正确显示界面布局2024/7/9/24绝对布局-Absolute Layout绝对布局AbsoluteLayout绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了界面布局对不同类型和尺寸屏幕的适应能力2024/7/9/25布局的嵌套布局的嵌套是指相同或者不同类型的布局之间可以嵌套使用,其目的是为了利用不同布局的特性,方便构建我们想要得到的图案2024/7/9/26布局嵌套实例 2024/7/9/27用户界面基础用户界面布局用户界面控件2024/7/9/28Android用户界面控件Android系统的界面控件有两种:系统控件:是Android系统提供给用户已经封装的界面控件。提供在应用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快速开发,同时能够使Android系统中应用程序的界面保持一致性定制控件:是用户独立开发的控件,或通过继承并修改系统控件后所产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方式常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、Progress、ListView和TabHost、Dialog、Toast、Notification等2024/7/9/29Android控件类型分类常用控件:TextView、EditText、Button选择控件:CheckBox、RadioButton、Spinner进度条控件:Progress对话框控件:Dialog消息提示控件:Toast2024/7/9/30常用控件:TextView、EditTextTextView和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件TextViewEditText程序名EditText实际上是一个具有编辑功能的TextView2024/7/9/31控件布局实例 常用函数:setText();getText();2024/7/9/32常用控件:Button、ImageButtonButton和ImageButtonButton是一种按钮控件,用户能够在该控件上点击,随后引发相应的事件处理函数ImageButton用以实现能够显示图像功能的控件按钮2024/7/9/33控件布局实例 也可以通过程序实现ImageButton上图片的显示:myImageButton.setImageResource(R.drawable.download);2024/7/9/34按钮控件的监听按钮响应点击事件:添加点击事件的监听器final Button myButton=(Button)findViewById(R.id.button1);myButton.setOnClickListener(new View.OnClickListener()public void onClick(View v)/TODO Auto-generated method stub myButton.setText(我按了Button一下););监听器消息响应函数2024/7/9/35按钮控件的监听final Button myButton=(Button)findViewById(R.id.button1);final ImageButton myImageButton=(ImageButton)findViewById(R.id.imagebutton1);View.OnClickListener buttonListener=new View.OnClickListener()public void onClick(View v)/TODO Auto-generated method stub switch(v.getId()case R.id.button1:myButton.setText(我按了Button一下);return;case R.id.imagebutton1:myButton.setText(我按了ImageButton一下);return;myButton.setOnClickListener(buttonListener);myImageButton.setOnClickListener(buttonListener);2024/7/9/36选择控件:CheckBox、RadioButtonCheckBox和RadioButtonCheckBox:多选控件RadioButton:单选控件RadioGroup是RadioButton的承载体,程序运行时不可见,在每个RadioGroup中,用户仅能够选择其中一个RadioButton2024/7/9/37final CheckBox myCheckBox=(CheckBox)findViewById(R.id.checkbox01);myCheckBox.setText(我的状态是:+myCheckBox.isChecked();myCheckBox.setOnClickListener(new View.OnClickListener()public void onClick(View v)/TODO Auto-generated method stub myCheckBox.setText(我的状态是:+myCheckBox.isChecked(););CheckBox控件实例 2024/7/9/38消息提示控件:ToastToast是在窗口表面弹出的通知消息。它仅仅是填充消息需要的空间大小,用户当前的activity保留可见性和可交互性。通知会自动的褪掉,它不会接受用户交互事件。2024/7/9/39Toast控件实例myButton1.setOnClickListener(new OnClickListener()public void onClick(View v)/TODO Auto-generated method stub CharSequence text=Hello Toast!;int duration=Toast.LENGTH_SHORT;Toast toast=Toast.makeText(ToastActivity.this,text,duration);/toast.setGravity(Gravity.TOP|Gravity.LEFT,0,0);toast.show(););2024/7/9/40
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!