资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
* / 1Android用户界面开发中智讯(武汉)科技有限公司* / 2用户界面基础用户界面布局用户界面控件* / 3用户界面界面如同人的面孔,具有吸引用户的直接优势* / 4Android应用程序模型Android应用程序资源源代码Activity控件布局(Layout)图片(Drawable)值(Values)R.java* / 5如何实现 Android界面Android界面布局Layout定义了界面中所有的元素、结构和相互关系:使用XML文件描述界面布局在程序运行时动态添加或修改界面布局布局对象在程序中的调用:setContentView() 从布局文件加载布局及控件findViewById() 从资源中找到控件布局Activity加载setContentView使用findViewByID* / 6Android XML布局文件使用XML文件声明界面布局的特点将程序的表现层和控制层分离在后期修改用户界面时,无需更改程序的源代码用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快界面设计的过程,并且为界面设计与开发带来极大的便利性* / 7简单 的XML布局文件线性布局布局方向控件命名空间控件资源ID控件大小控件显示内容* / 8界面对象的常规属性android:id属性:声明了控件对象的ID,这个ID主要用于在代码中引用这个控件对象“+id/button1”表示所设置的ID值表示后面的字符串是ID资源加号(+)表示需要建立新资源名称,并添加到R.java文件中斜杠后面的字符串(button1)表示新资源的名称如果资源不是新添加的,或属于Android框架的ID资源,则不需要使用加号(+),但必须添加Android包的命名空间,例如android:id=android:id/emptyandroid:id=+id/button1* / 9界面对象的常规属性android:layout_width属性:用来设置控件对象的宽度, fill_parent表示控件对象的宽度将等于父控件的宽度android:layout_height属性:用来设置控件对象的高度, wrap_content表示控件对象的宽度只要能够包含所显示的字符串即可android:layout_width=fill_parentandroid:layout_height=wrap_content* / 10界面对象的常规属性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* / 11界面对象的常规属性android:text属性:用来设置控件对象上显示的文字内容android:text=Button* / 12引入资源引入资源:将download.png文件拷贝到/res/drawable文件夹下在/res目录上选择Refresh新添加的文件将显示在/res/drawable文件夹下R.java文件内容也得到了更新否则提示无法找到资源的错误* / 13程序加载XML资源通过调用方法:setContentView() 可以实现对Layout布局资源的调用: public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main); * / 14程序创建对象及引用通过调用方法:findViewById() 可以实现对控件对象的引用: Button myButton = (Button) findViewById(R.id.button1); myButton.setText(test);* / 15可视化编辑 器* / 16用户界面基础用户界面布局用户界面控件* / 17Android界面布局Android界面布局Layout定义了界面中所有的元素、结构和相互关系。* / 18常用的布局对象Android操作系统提供下列5种窗体布局:线性布局(Linear Layout)框架布局(Frame Layout)表格布局(Table Layout)相对布局(Relative Layout)绝对布局(Absolute Layout)* / 19线性布局 - Linear Layout线性布局LinearLayout在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列如果垂直排列,则每行仅包含一个界面元素如果水平排列,则每列仅包含一个界面元素Android:orientation=“vertical”或Android:orientation=“horizontal”* / 20线性布局实例 * / 21线性布局控件常用属性属性功能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控件的权重,以父控件为整体单位来计算* / 22框架布局 - Frame Layout框架布局FrameLayout框架布局(FrameLayout)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角如果有多个子元素,后放置的子元素将遮挡先放置的子元素使用Android SDK中提供的层级观察器(Hierarchy Viewer)进一步分析界面布局, 能够对用户界面进行分析和调试,并以图形化的方式展示树形结构的界面布局* / 23表格布局 - Table Layout表格布局TableLayout表格布局(TableLayout)是一种常用界面布局,它将屏幕划分网格,通过指定行和列将界面元素添加到网格中网格的边界对用户是不可见的表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以在表格布局中添加其他界面布局,例如线性布 局、相对布局等TextViewEditTextRow 1ButtonButtonRow 2表格布局* / 24相对布局 - Relative Layout相对布局RelativeLayout相对布局(RelativeLayout)是一种非常灵活的布局方式,能够通过指定界面元素与其他元素的相对位置关系,确定界面中所有元素的布局位置特点:能够最大程度保证在各种屏幕类型的手机上正确显示界面布局* / 25绝对 布局 - Absolute Layout绝对布局AbsoluteLayout绝对布局(AbsoluteLayout)能通过指定界面元素的坐标位置,来确定用户界面的整体布局绝对布局是一种不推荐使用的界面布局,因为通过X轴和Y轴确定界面元素位置后,Android系统不能够根据不同屏幕对界面元素的位置进行调整,降低了界面布局对不同类型和尺寸屏幕的适应能力* / 26布局的嵌套布局的嵌套是指相同或者不同类型的布局之间可以嵌套使用,其目的是为了利用不同布局的特性,方便构建我们想要得到的图案* / 27布局嵌套实例 * / 28用户界面基础用户界面布局用户界面控件* / 29Android用户界面控件Android系统的界面控件有两种:系统控件:是Android系统提供给用户已经封装的界面控件。提供在应用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快速开发,同时能够使Android系统中应用程序的界面保持一致性定制控件:是用户独立开发的控件,或通过继承并修改系统控件后所产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方式常见的系统控件包括TextView、EditText、Button、ImageButton、Checkbox、RadioButton、Spinner、Progress、ListView和TabHost、Dialog、Toast、Notification等* / 30Android控件类型分类常用控件:TextView、EditText、Button选择控件:CheckBox、RadioButton、Spinner进度条控件:Progress对话框控件:Dialog消息提示控件:Toast* / 31常用控件:TextView、EditTextTextView和EditTextTextView是一种用于显示字符串的控件EditText则是用来输入和编辑字符串的控件TextViewEditText程序名EditText实际上是一个具有编辑功能的TextView* / 32控件布局实例 常用函数:setText();getText();* / 33常用控件:Button、ImageButtonButton和ImageButtonButton是一种按钮控件,用户能够在该控件上点击,随后引发相应的事件处理函数ImageButton用以实现能够显示图像功能的控件按钮* / 34控件布局实例 也可以通过程序实现ImageButton上图片的显示:myImageButton.setImageResource(R.drawable.download);* / 35按钮控件的监听按钮响应点击事件:添加点击事件的监听器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一下); );监听器消息响应函数* / 36按钮控件的监听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);myIma
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号