Microsoft Word - 扉页.doc

Similar documents
res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

PowerPoint 演示文稿

The Embedded computing platform

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

Dynamic Layout in Android

Android Service

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

IsPostBack 2

预览图 : (2) 在 SelectCity.java 中增加控件, 用于绑定 select_city 文件的 ListView, TextView,EditTest 等控件 代码和注释如下 :

多媒體應用 13 新增專案並完成版面配置 <ExMusic01> <activity_main.xml> ImageView ID imgplay ImageView ID imgstop ImageView ID imgfront TextView ID txtsong TextView ID t

untitled

Android 开发教程

Android 编程基础 Android 开发教程 & 笔记 1

Microsoft Word - Android 7.x.doc

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

Microsoft Word - 第3章.doc

Microsoft Word - 第4章 3D相册.doc

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

Android Fragment

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

Microsoft Word 杨超-spinner实现省市县的三级联动.docx








「西醫基層總額支付委員會《第28次委員會議紀錄

寻医问药指南(十七)

<4D F736F F D B3CCD0F2C9E8BCC6A1AAA1AA E4E4554C9CFBBFACAB5D1E9D6B8B5BCA3A8B5DA33B0E6A3A9CEA2BFCEB0E620CAB5D1E9352E646


团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

LEFT, RIGHT // 左 // 右 (2) 当图片移动后, 按钮的坐标发生改变, 此操作通过 setloca tion() 方法实现 setlocation() 方法是从 Component 类继承的, 其定义如下 : public void setlocation(int x, int y


ú ú

ChinaBI企业会员服务- BI企业

` ` ` ` ō ù ù ǐ ù ` ǐ ` ` ` ù è ó ù `

Transcription:

第 3 章 Andro 常用基本控件 我们在进行界面布局时, 添加的按钮 文本框 编辑框和图片等, 都是 Andro 的基本控件 这些控件实现了程序的一些基本功能 本章将针对这类控件进行详细的介绍, 使读者掌握基本控件的使用, 开发出简单的 Andro 程序 3.1 文本控件概述 Andro 系统提供给用户已经封装好的界面控件称为系统控件 系统控件更有利于帮助用户进行快速开发, 同时能够使 Andro 系统中应用程序的界面保持一致性 3.1.1 控件属性 Andro 支持的基本控件有以下几种, 如图 3.1 所示 TextView 文本框 EditText 编辑框 Button 按钮 ImageView Button 按钮 Toggle Button 按钮 RadioButton 单选按钮 CheckBox 多选按钮 图 3.1 基本控件注意 : 由于篇幅有限, 图中所列并非 Andro 支持的所有基本控件 Andro 的控件, 一般是在 res/layout 下的布局文件中声明使用 声明的同时, 还要设置控件的属性, 控制其在界面中的显示效果 设置控件的属性有两种方法, 一种是在布局文件中设置参数, 另一种是在代码中调用对应方法实现 控件常用属性及其对应方法如表 3-1 所示

第 3 章 Andro 常用基本控件 表 3-1 控件常用属性及其对应方法 属性名称 对应方法 说 明 setid(int ) 设置该控件的 layout_wth setwth(int pixels) 设置该控件的宽度 layout_height setheight(int pixels) 设置该控件的高度 3.1.2 控件使用 在布局文件的 Graphical Layout 视图中有一个 Palette 面板 该面板中包含了 Andro 中的所有控件 我们在使用控件时, 可以直接拖动所需控件到右侧手机界面, 如图 3.2 所示, 添加了一个 Button 控件 也可以手动编辑代码添加控件 图 3.2 添加控件在布局文件中声明的控件, 只负责界面显示 如果要想使用控件实现某些具体功能, 就需要在 Activity 中编辑代码实现 实现过程如下 : (1) 使用 super.setcontentview(r.layout. 某布局 layout 文件名 ) 来加载布局文件 ; (2) 使用 super.findviewbyid(r.. 控件的 ID) 获取控件引用 ; (3) 使用这个引用对控件进行操作, 例如添加监听, 设置内容等 3.2 文本类控件 文本类控件主要用于在界面中显示文本, 包含 TextView 和 EditText 两种 下面我们将详细介绍 3.2.1 TextView TextView 是 Andro 程序开发中最常用的控件之一, 它一般使用在需要显示一些信息的时候, 它不能输入, 只能通过初始化设置或在程序中修改 TextView 常用属性及其对应方法如表 3-2 所示 37

第 1 篇 Andro 开发基础 表 3-2 TextView 常用属性及对应方法说明 属性名称对应方法说明 andro:autolink setautolinkmask(int) 设置是否将指定格式的文本转化为可点击的超链接显示 传入的参数值可取 ALL EMAIL_ADDRESSES MAP_ADDRESSES PHONE_NUMBERS 和 WEB_URLS andro:height setheight(int) 定义 TextView 的准确高度, 以像素为单位 andro:wth setwth(int) 定义 TextView 的准确宽度, 以像素为单位 andro:singleline settransformationmethod(transfo rmationmethod) 设置文本内容只在一行内显示 andro:text settext(charsequence) 为 TextView 设置显示的文本内容 andro:textcolor settextcolor(colorstatelist) 设置 TextView 的文本颜色 andro:textsize settextsize(float) 设置 TextView 的文本大小 andro: textstyle settypeface(typeface) 设置 TextView 的文本字体 andro:ellipsize setellipsize(textutils.truncateat) TextView 文本字体属性示意图如图 3.3 所示 如果设置了该属性, 当 TextView 中要显示的内容超过了 TextView 的长度时, 会对内容进行省略, 可取的值有 start mdle end 和 marquee TextView 语法格式如下 : 图 3.3 TextView 文本字体属性示意图 <TextView <!-- TextView 边框包围内容 --> andro:layout_wth=" " andro:layout_height=" " <!-- TextView 准确高度宽度 --> andro:wth=" " andro:height=" " andro:text=" " <!-- 字体大小 --> andro:textsize=" " andro:textcolor=" " <!-- 字体格式 --> andro:textstyle=" " <!-- 文本显示位置 --> andro:gravity=" " <!-- 是否转为可点击的超链接形式 --> andro:autolink=" " <!-- 是否只在一行内显示全部内容 --> andro:singleline=" " andro:ellipsize=" "/> 示例 3-1 TextView 的使用 新建项目 TextView, 在布局中添加三个 TextView 第 38

第 3 章 Andro 常用基本控件 一个 TextView 的文本以 web 形式显示 http://www.google.com, 第二个 TextView 的文本只进行一些字体设置, 第三个 TextView 的文本以省略尾部内容显示 26 个英文字母 运行程序, 效果如图 3.4 所示 布局代码如下 : <TextView andro:="@+/textview1" andro:text="@string/tv1" andro:textsize="20sp" andro:autolink="web" andro:singleline="true"/> <TextView andro:="@+/textview2" andro:layout_below="@+/textview1" andro:layout_margintop="20dp" andro:textsize="30sp" andro:textcolor="#0000ff" andro:textstyle="italic" andro:text="@string/tv2" /> <TextView andro:="@+/textview3" andro:layout_below="@+/textview2" andro:layout_margintop="20dp" andro:textsize="30sp" andro:singleline="true" andro:ellipsize="end" andro:text="@string/tv3" /> 图 3.4 TextView 控件 属 性 值 @+/textview1 textsize 20sp TextView auto_link web singleline true text http://www.google.com @+/textview2 textsize 30sp TextView textcolor #0000ff textstyle italic text TextView @+/textview3 textsize 30sp TextView singleline true ellipsize end text abcdefghijklmnopqrstuvwxyz 39

第 1 篇 Andro 开发基础 3.2.2 EditText 我们在第一次使用一些应用软件时, 常常需要输入用户名和密码进行注册和登录 实现此功能, 就需要使用 Andro 系统中的编辑框 EditText EditText 也是一种文本控件, 除了 TextView 的一些属性外,EditText 还有一些特有的属性, 如表 3-3 所示 andro:lines 表 3-3 EditText 常用属性及对应方法说明 属性名称 对应方法 说 明 setlines(int) andro:maxlines setmaxlines(int) 设置最大的行数 andro:minlines setminlines(int) 设置最小的行数 andro:inputtype settransformationmethod(transfor mationmethod) 通过设置固定的行数来决定 EditText 的高度 设置文本框中的内容类型, 可以是密码 数字 电话号码等类型 andro:scrollhorizontally sethorizontallyscrolling(boolean) 设置文本框是否可以水平滚动 andro: capitalize setkeylistener(keylistener) 如果设置, 自动转换用户输入的内容为大写字母 andro: hint sethint(int) 文本为空时, 显示提示信息 andro:maxlength setfilters(inputfilter) 设置最大显示长度 Edittext 属性示意图如图 3.5 所示 40 EditText 语法格式如下 : <EditText <!-- 文本提示内容 --> andro:hint="" <!-- 文本内容显示在固定行中 --> andro:lines="" <!-- 文本最大显示长度 --> andro:maxlength=" " <!-- 文本显示类型 --> andro:inputtype=" " 图 3.5 Edittext 属性示意图 andro:scrollhorizontally=""/> 示例 3-2 EditText 的使用 新建项目 EditText, 在布局文件中添加三个 EditText

第 3 章 Andro 常用基本控件 第一个提示输入密码 ; 第二个输入电话号码 ; 第三个输入内容全部转为大写, 并限制文本长度 运行程序, 效果如图 3.6 所示 布局代码如下 : <EditText andro:="@+/edittext1" andro:layout_alignparenttop="true" andro:password="true" andro:hint=" 请输入密码 "> </EditText> <EditText andro:="@+/edittext2" andro:layout_below="@+/edittext1" andro:layout_margintop="26dp" andro:phonenumber="true" andro:lines="1" /> <EditText andro:="@+/edittext3" andro:layout_below="@+/edittext2" andro:layout_margintop="26dp" andro:maxlength="10" andro:scrollhorizontally="true" andro:capitalize="characters" /> 控件属性值 EditText hint password 请输入密码 true EditText EditText phonenumber true lines 1 maxlength 10 scrollhorizontally true capitalize characters 图 3.6 EditText 3.3 Button 类控件 Button 类控件主要包括 Button ImageButton ToggleButton RadioButton 和 CheckBox 下面我们将详细介绍 41

第 1 篇 Andro 开发基础 3.3.1 Button Button 是 Andro 程序开发过程中, 较为常用的一类控件 用户可以通过单击 Button 来触发一系列事件, 然后为 Button 注册监听器, 来实现 Button 的监听事件 为 Button 注册监听有两种方法, 一种是在布局文件中, 为 Button 控件设置 OnCilck 属性, 然后在代码中添加一个 public vo OnCilck 属性值 { 方法 ; 另一种是在代码中绑定匿名监听器, 并且重写 onclick 方法 下面我们通过例子来演示为 Button 注册监听 示例 3-3 新建项目 Button, 在布局中添加 Button1 和 Button2 在 Activity 中编辑代码为 Button1 注册监听, 单击 Button1, 修改界面标题 Button1 注册成功 ; 在布局文件中为 Button2 设置 OnClick 属性值注册监听, 单击 Button2, 修改界面标题 Button2 注册成功 布局文件代码 : 42 <Button andro:="@+/button1" andro:text="@string/button1" /> <Button andro:="@+/button2" andro:layout_margintop="60dp" <!-- 设置 OnClick 属性 --> andro:onclick="click" andro:text="@string/button2" /> 逻辑代码 : public class MainActivity extends Activity { // 声明 Button1 Button2 Button button1,button2; @Overre public vo oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); // 加载布局文件 setcontentview(r.layout.activity_main); // 获取 Button1 Button2 引用 button1 = (Button)findViewById(R..button1); button2 = (Button)findViewById(R..button2); // 为 Button1 注册监听 button1.setonclicklistener(new OnClickListener() { public vo onclick(view v) { // TODO Auto-generated method stub settitle("button1 注册成功 "); ); // 为 Button2 注册监听, 方法名为 OnClick 属性值 public vo click(view v) {

第 3 章 Andro 常用基本控件 settitle("button2 注册成功 "); 注意 :Button 控件的 OnClick 属性, 其参数值为在代码中添加的对应方法名, 因此在设置该参数值时, 需注意命名规范 程序执行过程如图 3.7 所示 运行程序, 效果如图 3.8 所示 图 3.7 程序执行流程图 êç ȼ êç ȼ 图 3.8 Button 监听 3.3.2 ImageButton ImageButton( 图片按钮 ) 也是一种 Button 它与 Button 控件类似, 只是在设置图片时有些区别 ImageButton 控件中, 设置按钮显示的图片可以通过 andro:src 属性, 也可以通 43

第 1 篇 Andro 开发基础 过 setimageresource(int) 方法来设置 ImageButton 语法格式如下 : <ImageButton <!-- ImageButton 按钮的 ID --> andro:=" " <!-- ImageButton 宽度和高度 --> andro:layout_wth=" " andro:layout_height=" " <!-- ImageButton 背景图片 --> andro:src=" " /> 示例 3-4 ImageButton 的使用 新建项目 ImageButton, 添加两个 ImageButton 控件 第一个使用 drawable 中的图片资源作为按钮背景, 第二个使用系统提供的图片作为按钮背景 运行程序, 效果如图 3.8 所示 布局代码如下 : <ImageButton andro:="@+/imagebutton1" andro:layout_alignparenttop="true" andro:src="@drawable/paint" /> <ImageButton andro:="@+/imagebutton2" andro:layout_below="@+/imagebutton1" andro:layout_margintop="42dp" andro:src="@andro:drawable/btn_minus" /> Drawable 图片 系统图片 控件属性值 ImageButton src @drawable/paint ImageButton src @andro:drawable/btn_minus 图 3.8 ImageButton 注意 : 在设置 src 属性时, 加载 Drawable 对象, 参数值则为 @drawable/ 对象名 ; 加载系统提供的资源图片, 参数值则为 @andro:drawable/ 图片名 示例 3-5 下面演示一个单击 ImageButton, 改变其背景图片的案例 首先, 在 res/drawable-mdpi 目录下新建一个 myselector.xml, 在其中输入如下代码 : 44

第 3 章 Andro 常用基本控件 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:andro="http://schemas.andro.com/apk/res/andro"> <!-- 未点击时显示背景 --> <item andro:state_pressed="false" andro:drawable="@drawable/ic_action_search" /> <!-- 点击时显示背景 --> <item andro:state_pressed="true" andro:drawable="@drawable/ic_launcher" /> </selector> 然后, 设置布局文件中,ImageButton 控件的 src 属性参数为 myselector.xml 的引用 : andro:src="@drawable/myselector" selector 是 Andro 控件的背景选择器, 采用 XML 文件格式 我们可以通过设置 item 项中的以下属性, 然后引用图片改变 ImageButton 显示背景 andro:state_selected: 选中 ; andro:state_focused: 获得焦点 ; andro:state_pressed: 点击 ; andro:state_enabled: 设置是否响应事件 运行程序, 效果如图 3.9 所示 未按下按钮 按下按钮 图 3.9 单击改变 ImageButton 背景图片 3.3.3 ToggleButton ToggleButton( 开关按钮 ) 是 Andro 系统中比较简单的一个组件, 它带有亮度指示, 具有选中和未选中两种状态 ( 默认为未选中状态 ), 并且需要为不同的状态设置不同的显示文本 ToggleButton 常用属性及对应方法如表 3-4 所示 表 3-4 ToggleButton 常用属性及对应方法说明 属性名称 对应方法 说 明 andro:disabledalpha 设置按钮在禁用时的透明度, 属性值必须 为浮点型 andro:textoff settextoff(charsequence textoff) 未选中时按钮的文本 andro:texton settexton(charsequence texton) 选中时按钮的文本 45

第 1 篇 Andro 开发基础 ToggleButton 语法格式如下 : <ToggleButton <!-- ToggleButton 按钮的 ID --> andro:=" " <!-- ToggleButton 被选中时显示的文本内容 --> andro:texton=" " <!-- ToggleButton 未被选中时显示的文本内容 --> andro:textoff=" "/> 示例 3-6 ToggleButton 的使用 新建项目 ToggleButton, 在布局文件中添加一个 ToggleButton 控件 设置其被选中时显示 开, 未被选中时显示 关 运行程序, 效果如图 3.10 所示 布局代码如下 : <ToggleButton andro:="@+/togglebutton1" andro:layout_wth="1500dp" andro:layout_height="80dp" andro:layout_alignparenttop="true" andro:texton=" 开 " andro:textoff=" 关 "/> 控件属性值 texton 开 ToggleButton textoff 关 图 3.10 ToggleButton 3.3.4 RadioButton RadioButton( 单选按钮 ) 在 Andro 平台上也比较常用, 比如一些选择项会用到单选按钮 它是一种单个圆形单选框双状态的按钮, 可以选择或不选择 在 RadioButton 没有被选中时, 用户通过单击来选中它 但是, 在选中后, 无法通过单击取消选中 单选按钮由 RadioButton 和 RadioGroup 两部分组成 RadioGroup 是单选组合框, 用于将 RadioButton 框起来 在多个 RadioButton 被 RadioGroup 包含的情况下, 同一时刻只可以选择一个 RadioButton, 并用 setoncheckedchangelistener 来对 RadioGroup 进行监听 RadioButton 语法格式如下 : <RadioGroup <!-- RadioGroup 单选组合框的 ID --> 46

第 3 章 Andro 常用基本控件 andro:=" " <!-- RadioButton 排列方式 --> andro:orientation=" " > <RadioButton <!-- RadioButton 单选按钮的 ID --> andro:=" " <!-- RadioButton 文本内容 --> andro:text=" " /> </RadioGroup> 示例 3-7 RadioButton 的使用 新建项目 RadioButton, 在布局文件中添加一个 TextView 显示 请选择 : ; 添加一个 RadioGroup 控件, 设置 RadioButton 以垂直方式排列 ; 在 RadioGroup 控件中添加两个 RadioButton 控件, 分别显示 火车 和 飞机 ; 再添加一个 TextView 显示 您选择的是 : 在逻辑代码部分编辑代码, 当选中不同选项时, 在第二个 TextView 后追加显示选项内容 运行程序, 效果如图 3.11 所示 图 3.11 RadioButton 控件属性值 TextView RadioGroup Radiobutton Radiobutton TextView @+/tv1 text 请选择 : @+/rg1 orientation vertical @+/rb1 text 火车 @+/rb2 text 飞机 @+/tv2 text 您选择的是 : 布局代码如下 : <TextView andro:="@+/tv1" andro:textsize="30sp" andro:text=" 请选择 :" /> <RadioGroup andro:="@+/rg1" andro:orientation="vertical" > <RadioButton andro:="@+/rb1" andro:textsize="30sp" andro:text=" 火车 " /> <RadioButton andro:="@+/rb2" andro:textsize="30sp" andro:text=" 飞机 " /> 47

第 1 篇 Andro 开发基础 </RadioGroup> <TextView andro:="@+/tv2" andro:textsize="30sp" andro:text=" 您选择的是 :" /> 关键逻辑代码 : // 为 RadioGroup 注册监听 radiogroup.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener(){ public vo oncheckedchanged(radiogroup group, int checkedid){ // TODO Auto-generated method stub // 通过 判断第一个 RadioButton 被选中 if (checkedid == R..rb1) { // 显示第一个 RadioButton 内容 textview.settext(" 您选择的是 :" + radiobutton1.gettext()); // 第二个 RadioButton 被选中 else { // 显示第二个 RadioButton 内容 textview.settext(" 您选择的是 :" + radiobutton2.gettext()); ); 3.3.5 CheckBox CheckBox( 复选按钮 ), 顾名思义是一种可以进行多选的按钮, 默认以矩形表示 与 RadioButton 相同, 它也有选中或者不选中双状态 我们可以先在布局文件中定义多选按钮, 然后对每一个多选按钮进行事件监听 setoncheckedchangelistener, 通过 ischecked 来判断选项是否被选中, 做出相应的事件响应 CheckBox 语法格式如下 : <CheckBox <!-- CheckBox 复选按钮 ID--> andro:=" " <!-- CheckBox 文本内容 --> andro:text=" " /> 示例 3-8 CheckBox 的使用 新建项目 CheckBox, 在布局文件中添加一个 TextView 显示 请选择 ; 添加三个 CheckBox 控件, 分别显示 火车 飞机 和 轮船 ; 再添加一个 TextView 显示 您选择的是 : 在逻辑代码部分编辑代码, 当选中不同选项时, 在第二个 TextView 后追加显示选项内容 运行程序, 效果如图 3.12 所示 布局代码如下 : <TextView andro:="@+/textview1" andro:layout_wth="121dp" andro:textsize="25sp" andro:text=" 请选择 " /> <CheckBox andro:="@+/checkbox1" 48

第 3 章 Andro 常用基本控件 andro:textsize="25sp" andro:text=" 火车 " /> <CheckBox andro:="@+/checkbox2" andro:textsize="25sp" andro:text=" 飞机 " /> <CheckBox andro:="@+/checkbox3" andro:textsize="25sp" andro:text=" 轮船 " /> <TextView andro:="@+/textview2" andro:textsize="25sp" andro:text=" 您选择的是 :" /> 图 3.12 CheckBox 控件 属 性 值 TextView @+/textview1 text 请选择 CheckBox @+/checkbox1 text 火车 CheckBox @+/checkbox2 text 飞机 CheckBox @+/checkbox3 text 轮船 TextView @+/textview2 text 您选择的是 : 关键逻辑代码 : // 为第一个 CheckBox 注册监听 checkbox1.setoncheckedchangelistener(new OnCheckedChangeListener() { public vo oncheckedchanged(compoundbutton buttonview, boolean ischecked){ // 如果第一个 CheckBox 被选中 if (ischecked == true) { // 显示第一个 CheckBox 内容 textview.append(checkbox1.gettext() + ","); ); // 为第二个 CheckBox 注册监听 checkbox2.setoncheckedchangelistener(new OnCheckedChangeListener() { // 如果第二个 CheckBox 被选中 49

第 1 篇 Andro 开发基础 public vo oncheckedchanged(compoundbutton buttonview, boolean ischecked) { if (ischecked == true) { // 显示第二个 CheckBox 内容 textview.append(checkbox2.gettext() + ","); ); // 为第三个 CheckBox 注册监听 checkbox3.setoncheckedchangelistener(new OnCheckedChangeListener() { public vo oncheckedchanged(compoundbutton buttonview, boolean ischecked) { // 如果第三个 CheckBox 被选中 if (ischecked == true) { // 显示第三个 CheckBox 内容 textview.append(checkbox3.gettext() + ","); ); 3.4 图片控件 ImageView ImageView 是一个图片控件, 负责显示图片 图片的来源可以是系统提供的资源文件, 也可以是 Drawable 对象 ImageView 常用的属性及其对应方法如表 3-5 所示 表 3-5 ImageView 常用属性及对应方法说明 属性名称对应方法说明 andro:adjustviewbounds setadjustviewbounds(boolean) 设置是否需要 ImageView 调整自己的边界来保证所显示的图片的长宽比例 andro:maxheight setmaxheight(int) ImageView 的最大高度, 可选 andro:maxwth setmaxwth(int) ImageView 的最大宽度, 可选 andro:scaletype setscaletype(imageview.scaletype) 控制图片应如何调整或移动来适合 ImageView 的尺寸 andro:src setimageresource(int) 设置 ImageView 要显示的图片 ImageView 语法格式如下 : <ImageView <!-- ImageView 图片控件 ID--> andro:=" " <!-- 是否保持长宽比 --> andro:adjustviewbounds=" " <!-- ImageView 最大高度和最大宽度 --> andro:maxheight=" " andro:maxwth=" " <!-- 是否调整图片适应 ImageView--> andro:scaletype=" " andro:src=" " /> 示例 3-9 ImageView 的使用 新建项目 ImageView, 在布局文件中添加两个 50

第 3 章 Andro 常用基本控件 ImageView, 第一个显示系统图片, 第二个显示 drawable 图片 运行程序, 效果如图 3.13 所示 布局代码如下 : <ImageView andro:="@+/imageview1" andro:layout_alignparenttop="true" andro:src="@andro:drawable/btn_star" /> <ImageView andro:="@+/imageview2" andro:layout_below="@+/imageview1" andro:layout_margintop="74dp" andro:adjustviewbounds="true" andro:maxheight="300dp" andro:maxwth="300dp" andro:scaletype="fitxy" andro:src="@drawable/paint" /> 控件属性值 系统图片 ImageView src @+/imageview1 @andro:drawable/btn_star @+/imageview2 drawable 图片 ImageView src adjustviewbounds scaletype @drawable/paint true fitxy maxheight 300dp maxwth 300dp 图 3.13 ImageView 3.5 时钟控件 时钟控件包括 AnalogClock 和 DigtialClock, 这两种控件都负责显示时间 不同的是, AnalogClock 是模拟时钟, 只显示时针和分针 ; 而 DigtialClock 显示数字时钟, 可精确到秒 两者可以结合使用, 能更准确的表达时间 示例 3-10 结合使用 AnalogClock 和 DigtialClock 新建项目 Clock, 在布局文件中添加一个 AnalogClock 控件和一个 DigtialClock 控件, 显示系统时间 运行程序, 效果如图 3.14 所示 51

第 1 篇 Andro 开发基础 AnalogClock DigtialClock 图 3.14 AnalogClock 和 DigtialClock 结合使用 3.6 日期与时间控件 Andro 为用户提供了显示日期与时间的控件 DatePicker 和 TimePicker, 下面我们将详细介绍 3.6.1 DatePicker 日期选择控件 (DatePicker) 主要的功能向用户提供包含了年 月 日的日期数据, 并允许用户对其进行选择 DatePicker 相关属性如表 3-6 所示 属性名称 calendarviewshown maxdate mindate spinnersshown 表 3-6 DatePicker 相关属性属性说明是否显示日历视图日历视图显示的最大日期, 格式为 mm/dd/yyyy 日历视图显示的最小日期, 格式为 mm/dd/yyyy 是否显示微调控件 52 DatePicker 语法格式如下 : <DatePicker <!-- DatePicker ID-- > andro:=" " <!-- 是否显示日历视图 --> andro:calendarviewshown=" " <!-- 日历视图显示的最小日期和最大日期, 格式为 mm/dd/yyyy-- > andro:mindate=" " andro:maxdate=" " <!-- 是否调整图片适应 ImageView--> andro:spinnersshown=" "/> 示例 3-11 DatePicker 的使用 新建项目 DatePicker, 在布局文件中添加一个 DatePicker 显示系统日期 设置其显示日历视图和微调控件, 并设定日历视图显示的最大日期和最小日期 运行程序, 效果如图 3.15 所示 使用微调控件, 可以修改日期

第 3 章 Andro 常用基本控件 布局代码如下 : <DatePicker andro:="@+/datepicker1" andro:layout_alignparenttop="true" andro:mindate="1-1-1970" andro:maxdate="12-31-2040"/> z 控件 属 性 值 @+/datepicker1 calendarviewshown true DatePicker maxdate 12-31-2040 mindate 1-1-1970 spinnersshown true ï 图 3.15 DatePicker 如果将上述布局文件中 DatePicker 的 andro:spinnersshown 属性设置为 false, 就只显示日历视图, 如图 3.16 所示 图 3.16 只显示日历视图 3.6.2 TimePicker 时间选择控件 (TimePicker) 向用户显示一天中的时间 ( 可以为 24 小时制, 也可以为 AM/PM 制 ), 并允许用户进行修改 示例 3-12 TimePicker 的使用 新建项目 TimePicker, 在布局文件中添加一个 TimePicker, 以 AM/PM 制显示系统时间 运行程序, 效果如图 3.17 所示 示例 3-13 在 TimePickerActivity 中添加代码, 使用 TimePicker 以 24 小时制显示 53

系统时间 运行程序, 效果如图 3.18 所示 第 1 篇 Andro 开发基础 图 3.17 AM/PM 制 TimePicker 图 3.18 24 小时制 TimePicker 关键代码如下 : <!-- 设置 TimePicker 为 24 小时制 -- > timepicker.setis24hourview(true); <!-- 设置为 14 时 -- > timepicker.setcurrenthour(14); <!-- 设置为 40 分 --> timepicker.setcurrentminute(40); 3.7 小结 本章主要介绍了 Andro 中一些常用的 比较简单的控件 其中,Button 类控件需要注册监听, 实现具体功能, 需要读者认真学习掌握 掌握这些控件的用法, 并结合上一章的布局知识, 就能够开发出简单的用户界面 3.8 习题 1. 新建项目 EditText, 在布局中添加两个 EditText 第一个显示为密码格式, 在未输入密码时, 显示文本 请输入密码 ; 第二个显示电话号码, 输入电话号码时, 界面弹出拨号盘 程序运行效果如图 3.19 所示 图 3.19 EditText 54

第 3 章 Andro 常用基本控件 分析 本题目主要考查读者对 EditText 的掌握 可以参考 3.2.2 节的开发程序 核心代码 本题的核心代码如下所示 <EditText andro:="@+/edittext1" andro:layout_alignparenttop="true" andro:inputtype="textpassword" andro:hint=" 请输入密码 "> </EditText> <EditText andro:="@+/edittext2" andro:layout_below="@+/edittext1" andro:layout_margintop="26dp" andro:maxlength="11" andro:inputtype="phone" andro:lines="1" /> 2. 新建项目 Button, 在布局中添加两个按钮 Button1 在代码中绑定监听, 修改标题内容为 Button1 注册成功 ;Button2 在布局中通过 onclick 属性绑定监听, 修改标题内容为 Button2 注册成功 程序运行效果如图 3.20 所示 图 3.20 Button 注册监听 分析 本题目主要考查读者对 Button 两种注册监听方式的掌握 可以参考 3.3.1 节的内容 核心代码 本题的核心代码如下所示 布局文件代码 : <Button andro:="@+/button1" andro:text="button1" /> <Button andro:="@+/button2" 55