第3讲Android用户界面(一)
第3章 Android用户界面
声明Android程序的界面布局有两种方法:1、使用XML文件描述界面布局(推荐使用)2、在程序运行时动态添加或修改界面布局;既可以独立使用任何一种声明界面布局的方式,也可以同时使用两种方式。
54、使用XML文件声明界面布局的优势:将程序的表现层和控制层分离,修改用户界面时,无需更改程序的源代码;可通过Eclipse的“可视化编辑器”直接查看用户界面,有利于加快界面设计的过程55、常用的6种界面布局:线性布局、表格布局、网格布局、框架布局、相对布局、绝对布局(3)网格布局(GridLayout):Android SDK 4.0新支持的布局方式;将用户界面划分为网格,界面元素可随意摆放在网格中。
;网格布局比表格布局(TableLayout)在界面设计上更加灵活,在网格布局中界面元素可以占用多个网格的,而在表格布局却无法实现,只能将界面元素指定在一个表格行(TableRow)中,不能跨越多个表格行。
●网格布局的布局属性参数⏹columnCount表示纵向列数,从第0列开始。
⏹rowCount表示恒向行数,从第0行开始。
⏹layout_columnSpan属性表示T控件所占据的列的数量。
⏹layout_gravity = center_horizontal表示文字内容在所占据的块中居中显示。
●注意:网格布局中第1个元素默认在第0行第0列。
1、用户界面(User Interface,UI)是系统和用户之间进行信息交换的媒介,实现信息的内部形式与人类可以接受形式之间的转换2、Android用户界面框架:(1)Android用户界面框架采用MVC(Model-View-Controller)模型。
控制器(Controller)处理用户输入,视图(View)显示用户界面和图像,模型(Model)保存数据和代码(2)Android用户界面框架采用视图树(View Tree)模型,由View和ViewGroup构成3常见的系统控件:TextView,EditText,Button,ImageButton,Checkbox,RadioButton,Spinner,ListView,TabHost4、在MVC模型中,控制器根据界面事件(UI Event)类型不同,将事件传递给界面控件不同的事件处理函数。
Android界面Layout介绍ppt课件
03界面Layout介绍
• 资源文件的管理 • Layout XML • LinearLayout • RelativeLayout • TableLayout • FrameLayout • AbsoluteLayout • 自定义Layout • Android 切换多个layout界面
写代码文件的时候,需要用到。)
–
android:layout_width="@string/btnWidth"
–
android:layout_height="@string/btnHeigh"
–
android:gravity="center" >
– </Button>
保存Strings.xml文件。Eclipse插件将自动在你的工程中生成R.java文件,并含有适当的 资源ID,以供编译之后使用程序访问这些资源。如果你定位到/gen/目录下的R.java文件, 你可以看到:(所有的资源文件,都在R.java里面有对应)
1. FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上 角。
2. LinearLayout:里面可以放多个控件,但是一行只能放一个控件。 3. TableLayout:这个要和TableRow配合使用,很像html里面的table。 4. RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置。 5. AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置。
上面的两个样式中,都有一个parent属性。这就不难理解style是可以继承的。在这里我 们继承的是系统默认的EditText属性,只修改了背景和文字颜色而已。那系统的EditText样式 是在哪定义的呢?找了一番终于也找到了,所有系统控件的样式是在一个style.xml文件中, 这个文件也在上面说的那个目录下。里面我们可以找到Widget.EditText的样式定义。有了它 我们也可以查看某一种控件可以更改哪些样式了。
用户界面
Menu设计
上下文菜单 创建上下文菜单: 1.覆盖Activity的onCreateContextMenu()方法,调用Menu的add方法添 加菜单项(MenuItem) 2.覆盖onContextItemSelected()方法,响应菜单单击事件 3.调用registerForContextMenu()方法,为视图注册上下文菜单 子菜单 创建上下文菜单: 1.覆盖Activity的onCreateOptionsMenu()方法,调用Menu的 addSubMenu()方法添加子菜单项 2.调用SubMenu的 add()方法,添加子菜单 3.覆盖onContextItemSelected()方法来响应事件。
画廊视图(Gallery) Gallery能够水平方向显示其内容,一般用来浏览图片,被选中的 选项位于中间,并且可以响应事件显示信息 地图视图(Mapview) 网络视图(WebView) 创建步骤: 1.在布局文件中声明WebView 2.在Activity中实例化WebView 3.调用WebView的loadUrl()方法,加载指定的URL地址网页 4.为了响应链接功能,调用setWebViewClient()方法设置WebView 客户端 5.为了支持回退,覆盖onKeyDown()方法 6.在清单文件中添加访问互联网权限
布局管理器 Android中提供了两种创建布局的方式: 1.在XML配置文件中声明:这种方式是将组建 在配置文件中进行声明,在程序中通过 setContentView(yout.main)方法呈现, 通过findViewById方法获得组建实例。 2.在程序中通过“硬代码”直接实例化布局 及其组件。
2.标题栏进度条 2.使用SimpleCursorAdapter添加列表视图内容 创建步骤: a.调用getContentResolver()方法返回 ContentResolver对象,通过该对象查询得到Cursor对象 b.创建SimpleCursorAdapter对象 c.调用ListActivity的setListAdapter()方法显示 列表项 创建标题栏进度条: a.调用Activity的requestWindowFeature()方法, 获得进度条 b.调用Activity的 setProgressBarIndeterminateVisibility()方法显示 进度条
Android的用户界面
-Android UI系统--View其子类被称为Widget--ViewGroup其子类被称为Layout--组合设计模式[Composite]View ViewGroup 层次关系-ViewGroup--ViewGroup---View---View---View--View-Android UI--Menu[菜单]---Option menu 选项菜单---Context menu上下文菜单用户长时间按住不放时弹出的菜单---Sub menu子菜单--Dialog[对话框]--AlertDialog[警告对话框]静态内部类Builder对象[标题、标题、按钮将要响应的事件] create()、show()方法--ProgressDialog[进度对话框]--DatePickerDialog[日期选择对话框]--TimePickerDialog[时间选择对话框]--Toast[提示信息] 显示提示信息自动消失--静态方法 makeText() 添加显示文本和时长--show()显示-Android事件处理[引用Java事件处理机制]--事件鼠标、键盘、触摸、鼠标移动--事件源产生时间的组件--事件监听器组件产生事件时响应的接口---单击事件 View.OnClickListener---焦点事件 View.OnFocusChangeListener---按键事件 View.OnKeyListener---触碰事件 View.OnTeachListener---创建上下文事件 View.OnCreateContextMenuListener-Java事件处理机制--事件角色---event object事件作为参数一般存在于Listener()方法中---event source具体接受事件的实体---event listener 事件监听器-Android布局管理组件在Activity中的呈现方式[组件大小间距对齐方式]--创建方式---xml配置文件中声明---“硬代码”直接实例化布局及其组件--布局方式---线性布局(LinearLayout)垂直水平方向布局----android:orientation [vertical horizon]----android:gravity [top bottom left right]---帧布局(FrameLayout)屏幕的左上角坐标(0,0)布局---表格布局(TableLayout)行列方式布局----TableRow对象---相对布局(RelativeLayout)相对其他组件的布局方式----android:layout_below----android:layout_toLeftOf---绝对布局(AbsoluteLayout)绝对定位布局方式----FrameLayout/RelativeLayout----android:layout_x----android:layout_y-Android组件--常用组件---TextView文本框---EditText编辑框密码文本框---RadioButton单选按钮---CheckBox复选按钮---ToggleButton开关按钮---Spinner下拉列表---AutoCompleteTextView 自动完成文本框设置想要显示资源的适配器[Adapter]---Tab选项卡 FrameLayout-->Activity-->TabActivity-->getTabHost()---ProgressBar进度条----对话框进度条 onCreateDialog() showDialog()----标题栏进度条requestWindowFeature() setProgressBarIndeterminateVisibility()----水平进度条 ProgressBar incrementProgressBy()---日期、时间选择对话框 onCreateDialog() showDialog()----DatePickerDialog日期 onDateSetListener onDateSet()----TimePickerDialog 时间 onTimeSetListener onTimeSet()---ListView列表视图[Adapter] 数组ArrayAdapter/ 游标SimpleCursorAdapter----ListView组件----继承ListActivity---GridView网格视图 BaseAdapter类 getView()---Galley画廊视图 ImageSwitcher组件---MapView地图视图 Google APIs[map.jar]---WebView网络视图 WebView loadUrl() setWebViewClient() onKeyDown()--------------------- 赠予---------------------【名师心得】1. 因材施教,注重创新所讲授的每门课程应结合不同专业、不同知识背景的学生来调整讲授的内容和方法。
第4章-Android的用户界面
课件制作人:丁海洋
第四章 Android的用户界面
CH4 Android的用户界面
1.菜单
2.警告对话框
3.提示信息
4.事件处理
5.布局管理
6.组件
7.自动完成文本框
8.选项卡
课件制作人:丁海洋
第四章 Android的用户界面
1.菜单menu
2)选项菜单 当用户点击设备上的 menu键,或者其他的特 定功能键 选项菜单最多只能有 6 个,超过 6 个自动显示 为“更多” Chapter04_UI_Menu01
2.对话框
2)通过item数组设置对话框 参考:Chapter04_UI_AlertDialog02 final String[] items = {"奥尔良鸡腿 堡","麻辣鸡腿堡","咖啡","署条"}; builder.setTitle("请点餐 ").setSingleChoiceItems(items,-1, new DialogInterface.OnClickListener() 修改:修改内容;增加item
课件制作人:丁海洋
第四章 Android的用户界面
2.对话框
E. 修改 对话框内容 按钮内容
按钮响应事件
课件制作人:丁海洋
第四章 Android的用户界面
F. testview中文字字体的修改
float size=20; myTV.setTextSize(size);
课件制作人:丁海洋
第四章 Android的用户界面
file.add(0, ITEM2, 0, "打开");
第3章 设计用户界面android模板
四个复选框对象分别使用findViewById()函数,通过id引用界面上的复选框控 件。通过定义一个复选框的单击事件监听器类CheckBox.OnClickListener的 对象checkboxListener,重写了复选框的单击事件函数onClick()。使用 setOnClickListener()函数为每个复选框对象设置单击事件监听器。两个单选 按钮对象分别使用findViewById()函数,通过id引用界面上的单选按钮控件。 复选按钮类的isChecked()函数用来判断该复选按钮的选择状态。 RadioGroup类的对象radiogroup1使用findViewById()函数,通过id引用界面 上的RadioGroup。并且使用setOnCheckedChangeListener()函数设置状态 改变监听器。在radiogroup1的setOnCheckedChangeListener()函数中,通 过定义一个RadioGroup 的状态改变监听器类OnCheckedChangeListener的 对象,重写了onCheckedChanged()函数,来处理本组中单选按钮的选择改 变事件。单选按钮通过isChecked()函数判断该单选按钮是否被选中。
3.2.4 Spinner
Spinner是一种下拉列表形式的,能够从多个选项中选择一个选项的控件。 代码中定义了一个字符串数组provStr,包含四个省份名称“湖南 省”、“湖北省”、“广东省”、“山东省”。使用数组provStr定 义了ArrayAdapter数组适配器类的一个对象adapter1,并通过 setDropDownViewResource()函数来设置了下拉列表选项的风格为 yout.simple_spinner_item。 Spinner类的对象mySpinner通过setAdapter()函数为该对象设置数组 适配器。并且使用setOnItemSelectedListener()函数添加设置选择选 项监听器,并重写该类的onItemSelected()函数,注意函数参数的使 用。
Android机器操作界面说课件
在通话过程中,此按钮可调高或调 低通话音量。手机铃声响起时,此 按钮可使振铃器静音。在主屏幕上 (未进行通话时),此按钮可调高或 调低铃声音量,或者将响铃改设为 静音或振动。在其他应用程序中, 此按钮可控制音乐、语音路线和其 他音频的音量。
湿研华,WA- 更新
选项菜单中包含了适用于当前屏幕或 所有应用程序的项。触摸可打开更多菜单项。
右键菜单右键菜单中包含的工具适用于屏幕上的具体项。您可以触摸并按住屏幕上的 某个项打开右键菜单。有些项没有右键菜单。即使您触摸并按住这类项,系 统也不会有任何反应。
号Hugh Briss住老6505552222 11分钟期Tara Hertz住宅510-555.3333 21905Lavash Kiri手1550 - 555 . 3333 28分钟勒Hugh Briss住电6505552222 32分神前
Android机器操作界面说明
Mini-USB 接 口DOCK 接口耳机插孔Micro-SD 卡插槽充电器输入(直流12V)
主 页 键 - 返回键 —菜单键液晶显示 触摸屏
整机介绍
充电指示灯状态栏
复位键电源键
屏幕旋转锁定一
标 准USB 接 口
待 机 指 示 灯
内置麦克风
音量-/+键
内置摄像头
迅速将铃声音量调到最高或 最 低 。
使用平板电脑的按钮平板电脑上的物理按钮和软按钮可为用户提供各种功能和快捷方式。要了解有 关手机上的按钮位置的详情,请参见手机的用户指南。
使用菜单有两种类型的Androld菜单:选项菜单和右键菜单。选项菜单选项菜单中包含的工具适用于当前屏幕或应用程序的活动,而不适用于屏幕 上的任何具体项。您可以按菜单按钮 打开选项菜单。有些屏幕没有选项菜 单;即使您在这类屏幕上按菜 单三,系统也不会有任何反应。而有些屏幕的选项菜单项过多,无法全部显示在主菜单中;您可以触摸更多, 打开包含其他项的菜单。
Android程序设计及实践 第3章 用户界面
构造方法
用于添加子视图
将参数指定的视图移动到所有视图的前面显示
清除参数指定的视图的焦点
将参数指定的键盘事件分发给当前焦点路径的视图。分发 判断事件时,按照焦点路径查找合适的视图。若本视图为 焦点,则将键盘事件发送给自己;否则发送给焦点视图
事件源(Event Source):产生事件的对象,事件源通常是UI组件, 例如点击按钮,则按钮就是事件源。
-5-
功能描述 文本视图 编辑文本框 按钮 复选框 单选按钮组 下拉列表 自动完成文本框 日期选择器 时间选择器 数字时钟 模拟时钟 进度条 评分条 搜索条 网格视图 列表视图 滚动视图
事件监听器 OnKeyListener OnEditorActionListener OnClickListener OnCheckedChangeListener OnCheckedChangeListener OnItemSelectedListener OnKeyListener OnDateChangedListener OnTimeChangedListener OnKeyListener OnKeyListener OnProgressBarChangeListener OnRatingBarChangeListener OnSeekBarChangeListener OnKeyDown,OnKeyUp OnKeyDown,OnKeyUp OnKeyDown,OnKeyUp
第3章
用户界面
本章目标
➢ 熟悉基本的Android界面组件 ➢ 掌握UI的事件驱动机制 ➢ 掌握常用的Layout ➢ 掌握对话框以及Toast组件的使用 ➢ 掌握常用的Widget组件 ➢ 掌握菜单组件的使用 ➢ 掌握ActionBar的使用
Android用户界面详解
那个章节描述怎么实现一个大体的界面。
它涉及构建屏幕大体元素,怎么在xml(概念文件)内概念屏幕、用你的代码生成、在不同任务你需要操作你的用户接口。
Android生成屏幕有三种方式:xml配置生成;通过你自己用户界面接口生成;直接用代码生成。
依照MVC原那么,UI应该与程序逻辑相分离,因此,在XML中概念UI结构是高度推荐的。
另外,一个程序从一个屏幕方案调整到另一个也容易患多。
在XML中概念UI跟创建一个一般的HTML文档超级相似,例如,你有如下的一个文件:<html><head><title>Page Title</title></head><body>The content of the body element.</body></html>就如Android的XML布局一样,所有的元素都是结构化的,能够通过树形结构来表示:<?xml version="" encoding="utf-8"?><LinearLayoutxmlns:android= android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World"/></LinearLayout>屏幕元素的层次Android应用程序的基础功能单元确实是类中的一个对象。
(android开发新手入门教程)第3章-用户界面UI_3
• 当ratingbar是默认大小的时候,用户可以触摸/拖动或使用键 来设置评分,此外,评分条还有另外两种显示方式:
style="?android:attr/ratingBarStyleSmall ” 表示显示小的评分条; style="?android:attr/ratingBarStyleIndicator ”表示显示大的评分条,且 这种评分条是用户不可改变的。
第3章 用户界面开发
评分条
• 常用属性设置:
属性名称 android:isIndicator android:numStars android:rating android:max android:stepSize 说明 RatingBar是否是一个指示器(用户无法 进行更改) 显示的星型数量,必须是一个整形值 默认的评分,必须是浮点类型,如“1.2” 当前评分条的最大评分标准 评分的步长,必须是浮点类型,如“1.2”
第3章 用户界面开发继承自ImageView类,与Button 之间的最大区别在于ImageButton中没有text属性。 ImageButton控件中设置按钮显示的图片可以 通过android:src= “@drawable/icon_name”来设置。 也可以通过setImageResource(int)来设置。 这里不作多余的介绍,具体的用法可以查看 SDK文档。
第3章 用户界面开发
图片框(ImageView)
• ImageView控件负责显示图片,其图片的来源可 以是资源文件中的id,也可以是Drawable对象或 者位图对象。还可以是Content Provider的URI。 • 常用属性:
Android:adjustViewBounds Android:maxHeight Android:maxWidth Android:src Android:scaleType 设置是否需要ImageView调整自己的边 界,保证图片的显示比例 最大高度 最大宽度 图片路径 调整或移动图片
物联网系列专业课程之Android用户界面开发培训课件(ppt 41页)
布局
setContentView 加载
Activity
使用findViewByID
2020/1/10 / 5
Android XML布局文件
使用XML文件声明界面布局的特点
将程序的表现层和控制层分离 在后期修改用户界面时,无需更改程序的源代码 用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快
网格的边界对用户是不可见的
表格布局还支持嵌套,可以将另一个表格布局放置在前一个表格布局的网格中,也可以 在表格布局中添加其他界面布局,例如线性布
局、相对布局等
Row 1 Row 2
2020/1/10 / 23
TextView
EditText
Button 表格布局
Button
相对布局 - Relative Layout
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" >
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:orientation="horizontal" >
界面设计的过程,并且为界面设计与开发带来极大的便利性
(android开发新手入门教程)第3章-用户界面UI_2
示例
• 示例Demo:参见SelectionDemo工程
初始 状态
操作 后状 态
第3章 用户界面开发
三、下拉列表(Spinner)
下拉列表也是一种很常用的UI控件,例如很多网页都 会使用下拉列表,根据选择下拉列表选项来设置信息,在 Android中也提供了下拉列表的实现。以一个例子项目为例 进行介绍,该项目名称为SpinnerDemo。
第3章 用户界面开发
Android UI控件
UI事件捕获与处理 当各种UI控件被添加到应用程序用户界面中后,部分控件需要对 用户的操作事件进行捕获和响应处理,例如Button需要响应用户点击、 按下等等事件,只有实现了对这些事件的处理,才能与用户进行了交 互,在这个交互过程中就包括了响应和处理两个过程。 控件捕获用户操作事件的两种方式 1、定义一个事件监听器并将其绑定到相应的控件 2、重写回调方法
第3章 用户界面开发
Android UI控件
1、定义一个事件监听器并将其绑定到相应的控件 用于监听用户事件,view类包含了一系列命名类似于On<Action‐ name>Listener的接口,而每一个接口都提供了一个命名类似于 On<Action‐name>()的回调方法。例如响应视图点击事件的接口和方法 分别是View.OnClickListener和onClick()方法,所以如果某控件需要在它 被点击时获得通知就需要实现OnClickListener接口并定义其onClick回 调方法,然后通过控件的setOnClickListener()方法进行注册绑定。 2、重写回调方法 这种方式主要用于自主实现的控件类,这种方式允许为自主实 现的控件上接收到的每个事件定义默认的处理行为,并决定是否需要 将事件传递给其他的子视图。
第4章 Android用户界面(1)
定义Button控件的高度、宽度和内容
定义ImageButton控件的高度和宽度,但是没定义显示 的图像,在后面的代码中进行定义
4.2 界面控件
4.2.2 Button和ImageButton
引入资源
将download.png文件拷贝到 /res/drawable文件夹下
在/res目录上选择Refresh
10.</EditText>
4.2 界面控件
4.2.1 TextView和EditText
第1行android:id属性声明了TextView的ID,这个ID主要 用于在代码中引用这个TextView对象
“@+id/TextView01”表示所设臵的ID值 @表示后面的字符串是ID资源 加号(+)表示需要建立新资源名称,并添加到 R.java文件 中 斜杠后面的字符串(TextView01)表示新资源的名称 如果资源不是新添加的,或属于Android框架的ID资源, 则不需要使用加号(+),但必须添加Android包的命名空 间,例如android:id="@android:id/empty"
4.imageButton.setImageResource(R.drawable.download);
第1行代码用于引用在XML文件中定义的Button控件 第2行代码用于引用在XML文件中定义的ImageButton控件 第3行代码将Button的显示内容更改为“Button按钮” 第4行代码利用setImageResource()函数,将新加入的png文 件R.drawable.download传递给ImageButton
第3讲:用户界面(I)
3.3 布局的类型
• 3.3.6 绝对布局 (AbsoluteLayout)
绝对布局多用于游戏开发中,由于多分辨率 兼容麻烦,绝对布局在Android1.5后被 Google弃用,因此应用开发一般情况下不推
• 网格布局用一组无限细的直线将绘图区域分成行、列和单元,并指定 控件的显示区域和控件在该区域的显示方式。
3.3 布局的类型
• 脚下留心:
• 由于GridLayout是Android4.0之后有的新功能,如果要在项目中使用这 种布局,需要把SDK的最低版本指定为Android4.0(API14)以上。
• Android程序开发最重要的一个环节就是界面处理,界面的美观度直 接影响用户的第一印象,因此,开发一个整齐、美观的界面是至关 重要的。
3.1 UI概述
• Android应用的界面是由View和ViewGroup对象构建而成的。View类是 Android系统平台上用户界面表示的基本单元,View的一些子类被统称为 Widgets(工具),它们提供了诸如文本输入框和按钮之类的UI对象的完 整实现。
件,该文件位于项目的“res/layout”目录中。
3.3 布局的类型
Android中 有几种布局?
3.3 布局的类型
• Android中的布局如下:
• LinearLayout • RelativeLayout • TableLayout • GridLayout • FrameLayout • AbsoluteLayout
第3讲Android用户界面(一)
宋婕 sj@
上讲回顾
• Android 应用程序生命周期 • Activity生命周期中回调函数的调用及Activity栈 • Android应用程序的调试方法和工具
教学目标
• 了解Android 用户界面设计的基础知识
• 了解Android的资源管理方式
常用函数: setText(); getText();
Android用户界面控件的常规属性
•
android:id属性
功能:声明了控件对象的ID,这个ID主要用于在代码中引 用这个控件对象 "@+id/edittext1"表示所设置的ID值 @表示后面的字符串是ID资源 加号(+)表示需要建立新资源名称,并添加到R.java文件 斜杠后面的字符串(edittext1)表示新资源的名称
Android 用户界面设计的基础知识
• 设计手机用户界面应解决的问题
需界面设计与程序逻辑完全分离 需自动调整界面上部分控件的位置和尺寸 需合理利用较小的屏幕显示空间,构造出符合人机交互规 律的用户界面 使用XML文件(布局文件)描述用户界面;资源文件独立 保存在资源文件夹中(res) 对用户界面描述非常灵活,允许不明确定义界面的位置和 尺寸,仅声明界面元素的相对位置和粗略尺寸
视图组件的使用模式
• 生成视图组件资源标识
• • • XML资源实例化过程中,Android Asset Package Tool( aapt)解析布局文件中的组件定义 生成对应的资源标识(P64) 完成视图组件定义标识与组件实例的对应关系
视图组件的使用模式
• 视图组件的引用
XML布局文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
视图组件的使用模式
• 视图组件的定义
1.使用XML文件描述组件及样式(P60) 2.在Java程序运行时动态添加或修改组件及样式(P61) 随后获取UI组件对象
控件资源ID 控 件 控件大小 控件显示内容
findViewById() 根据控件的id来获取控件对象
Button myButton = (Button)findViewById(R.id.button1 );
视图组件的使用模式
• 视图组件的事件响应
第一种:定义事件监听器,再与组件绑定
事件监听器定义: public class btnListener implements View.OnClickListener{ @Override public void onClick(View v) { } } 组件绑定: Button myButton = (Button)findViewById(R.id.button1 ); myButton.setOnClickListener(new btnListener() )
•
Android用户界面框架采用视图树(View Tree)模 型
Android用户界面框架中的界面元素以一种树型结构组织在一起,称为 视图树 Android系统会依据视图树的结构从上至下绘制每一个界面元素。每个 元素负责对自身的绘制,如果元素包含子元素,该元素会通知其下所 有子元素进行绘制
Android资源管理方式
Android用户界面的基本控件
•
按钮控件:Button和ImageButton
Button是一种按钮控件,用户能够在该控件上点击,随后 引发相应的事件处理函数 ImageButton用以实现能够显示图像功能的控件按钮
Button
ImageButton
Button和ImageButton示例
常用函数: setText(); getText();
Android用户界面控件的常规属性
•
android:id属性
功能:声明了控件对象的ID,这个ID主要用于在代码中引 用这个控件对象 "@+id/edittext1"表示所设置的ID值 @表示后面的字符串是ID资源 加号(+)表示需要建立新资源名称,并添加到R.java文件 斜杠后面的字符串(edittext1)表示新资源的名称
视图组件的使用模式
• 资源的访问
1.颜色资源
<resources> <color name=“color1”>#FF0000</color> </resources>
2.尺寸资源
<resources> <demen name=“dimen1”>20px</demen> /resources>
3.Drawable资源 4.样式资源
Android 用户界面设计的基础知识
• Android用户界面框架采用MVC(Model-View-Controller) 模型
提供了处理用户输入的控制器(Controller) 显示用户界面和图像的视图(View), 以及保存数据和代码的模型(Model)
Android 用户界面设计的基础知识
Android 用户界面设计的基础知识
• 设计手机用户界面应解决的问题
需界面设计与程序逻辑完全分离 需自动调整界面上部分控件的位置和尺寸 需合理利用较小的屏幕显示空间,构造出符合人机交互规 律的用户界面 使用XML文件(布局文件)描述用户界面;资源文件独立 保存在资源文件夹中(res) 对用户界面描述非常灵活,允许不明确定义界面的位置和 尺寸,仅声明界面元素的相对位置和粗略尺寸
•
常见的系统控件
常用控件:TextView、EditText、Button 选择控件:CheckBox、RadioButton、Spinner、ListView 进度条控件:Progress 对话框控件:Dialog 消息提示控件:Toast
Android用户界面的基本控件
• 文本控件:TextView和EditText
视图组件的使用模式
• 视图组件的事件响应
第三种:当前Activity类实现监听器接口
public class MainActivity extends Activity implements OnClickListener { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.activity_main); btn1 = (Button)findViewById(R.id.button1); btn1.setOnClickListener(this); } public void onClick(View v) { }
}
视图组件的使用模式
• 视图组件的事件响应
布局文件:
第四种:XML布局文件中设置回调方法名
Java文件: public void onJump(View v) { Logcat.i(“test”,”onjump”); }
Android用户界面的基本控件
•
Android系统的界面控件有两种
系统控件:是Android系统提供给用户已经封装的界面控件。提供在应 用程序开发过程中常见功能控件。系统控件更有利于帮助用户进行快 速开发,同时能够使Android系统中应用程序的界面保持一致性 定制控件:是用户独立开发的控件,或通过继承并修改系统控件后所 产生的新控件。能够为用户提供特殊的功能或与众不同的显示需求方 式
第3讲 Android用户界面(一)
宋婕 sj@
上讲回顾
• Android 应用程序生命周期 • Activity生命周期中回调函数的调用及Activity栈 • Android应用程序的调试方法和工具
教学目标
• 了解Android 用户界面设计的基础知识
• 了解Android的资源管理方式
使用XML文件描述界面布局 在程序运行时动态添加或修改界面布局
布局对象在程序中的调用
setContentView(…) 从布局文件加载布局及控件
பைடு நூலகம்
findViewById
布局
setContentView
加载
Activity
视图组件的使用模式
• 视图组件,又称为widget组件、UI组件、View组件
• Android已经解决了前面两个问题
Android 用户界面设计的基础知识
• 设计手机用户界面应特别注意的问题
显示区域小 操作主要依赖拇指 不同型号的手机支持的图片格式、声音格式、动画格式不 一样,需要选择尽可能通用的格式,或者针对不同的型号 进行配置选择 不同型号的手机屏幕大小不一致,设置形状不一致,因此 需要考虑图片的自适应问题和界面元素的布局问题
android:layout_height属性
属性值 fill_parent match_parent wrap_content
Android用户界面控件的常规属性
• android:text属性
功能:用来设置控件对象上显示的文字内容 使用方法: (1)直接输入字符串:android:text=“用户名:“ (2)采用字符串变量:android:text="@string/textStr"
android:id="@+id/edittext1"
Android用户界面控件的常规属性
• •
android:layout_width属性
功能:用来设置控件对象的宽度。 功能:用来设置控件对象的高度。 属性值:Special value for the height or width requested by a View 功能 the view wants to be as big as its parent the view wants to be as big as its parent the view wants to be just large enough to fit its own internal content
• Android应用程序模型
源代码
ANDROID 应用程序
Activity
Activity
R.java
控件布局(Layout)
资源
图片(Drawable) 值(Values)
Android资源管理方式
• Android界面布局文件
Android界面布局Layout定义了界面中所有的元素、结构 和相互关系
Java代码使用Activity组件的 findViewById()
findViewById
Activity
布局
setContentView
加载
视图组件的使用模式
• 视图组件的两种用法
setContentView()实现通过布局id加载整个页面
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(yout.main); }
TextView是一种用于显示字符串的控件 EditText则是用来输入和编辑字符串的控件
label TextView EditText