第七章 开发用户界面

===========================第七章===========================

UI组件:

Android中的UI组件可分位4种模块:

  1.UI组件;

  2.布局管理器---盛放UI组件,布局管理器可以多重嵌套

    常见的布局管理器:

      1)线性布局:LinearLayout

      2)相对布局: RelativeLayout

      3)表格布局:TableLayout

      4)帧布局 : FrameLayout

  3.容器(Activity)

  4.事件处理器

TextView用于显示文字

  在代码中设置TextView的一些属性:

    tv1.setBackgroundColor(Color.BLUE);----设置背景色

    tv1.setTextColor(Color.WHITE);----设置文字颜色

    tv1.setTextSize(25);----设置文字大小

    tv1.getText();-----获取TextView显示的文字

  在xml中设置属性:

    android:singleLine="true" ----设置单行显示

    android:text="abc" ----设置显示的文本内容

    android:textStyle="italic|bold" ---设置字体加粗倾斜

Toast----土司通知/快显通知

  使用方法:

    Toast.makeText(context,text,duration);

      --第一个参数---上下文对象(一般为Activity的实例)

      --第二个参数---要弹出显示的文字内容

      --第三个参数---显示的时间长短(Toast.Length_Long)

EdtitText---文本输入组件

  常用属性:

    android:singleLine="true"-- 设置单行显示

    android:hint="请输入密码"--输入内容为空的时候显示的文字

    android:textColorHint="#ff0000"--设置hint文字的颜色

    android:textColorHighlight="#00ff00"--选中时的背景色

    android:password="true"--显示的效果为密码

    android:maxLength="8"--输入内容的长度

    android:imeOptions="actionSearch"--回车键的功能

  给EditText添加内容改变的监听:

 1     et.addTextChangedListener(new TextWatcher() {
 2
 3             @Override
 4             public void onTextChanged(CharSequence s, int start, int before,
 5                     int count) {
 6                 // TODO Auto-generated method stub
 7                 tv1.setText(s.toString());
 8             }
 9
10             @Override
11             public void beforeTextChanged(CharSequence s, int start, int count,
12                     int after) {
13                 // TODO Auto-generated method stub
14
15             }
16
17             @Override
18             public void afterTextChanged(Editable s) {
19                 // TODO Auto-generated method stub
20
21             }
22     });

OptionMenu---选项菜单

  属性:

    android:orderInCategory="3"--排序方式,数字越大越靠下,如果数字相同,按照声明顺序显示

    android:title="文件"----当前条目的标题

    android:showAsAction="always"---是否在ActionBar上显示

    android:icon="@drawable/ic_launcher"---当前菜单选项的图标

  添加选项菜单的方法:
    

1 public boolean onCreateOptionsMenu(Menu menu) {
2    // 通过菜单渲染器。为Activity添加菜单
3    getMenuInflater().inflate(R.menu.menu_main, menu);
4    return true;
5 }

  为选项菜单中的条目添加监听:

 1 public boolean onOptionsItemSelected(MenuItem item) {
 2       // 获取到点击条目的id
 3       int i = item.getItemId();
 4       // 根据id判断点击的是哪个条目
 5       switch (i) {
 6         case R.id.item1:
 7         //事件的处理方法写到这里
 8         break;
 9         case R.id.item2:
10         //事件的处理方法写到这里
11         break;
12         case R.id.item3:
13         //事件的处理方法写到这里
14         break;
15         return true;
16       }
17     }

在xml中为选项菜单添加子菜单:

 1 <item
 2     android:id="@+id/item2"
 3     android:orderInCategory="3"
 4     android:showAsAction="always"
 5     android:title="编辑">
 6     <menu>
 7         <item android:title="哈哈哈">
 8         </item>
 9         <item android:title="呵呵呵">
10         </item>
11         <item android:title="嘿嘿嘿">
12         </item>
13     </menu>
14 </item>                        
时间: 2024-10-26 19:51:07

第七章 开发用户界面的相关文章

Android开发艺术探索——第七章:Android动画深入分析

Android开发艺术探索--第七章:Android动画深入分析 Android的动画可以分成三种,view动画,帧动画,还有属性动画,其实帧动画也是属于view动画的一种,,只不过他和传统的平移之类的动画不太一样的是表现形式上有点不一样,view动画是通过对场景的不断图像交换而产生的动画效果,而帧动画就是播放一大段图片,很显然,图片多了会OOM,属性动画通过动态的改变对象的属性达到动画效果,也是api11的新特性,在低版本无法使用属性动画,但是我们依旧有一些兼容库,OK,我们还是继续来看下详细

安卓移植和驱动开发第七章心得体会

第七章 Led为我闪烁 尽管 Linux 驱动直接与硬件打交道,但并不是 Linux 驱动直接向硬件中的内存写数据, 而是与本机的内存(νO Memory,位于内核空间〉进行交互.所谓 1/0 内存是通过各种接口(PCI.USB.蓝牙.以太网口等〉连接到主机( PC.手机〉的硬件〈网卡.声卡.摄像头等〉在主机内 存中的映射.例如,在 Ubuntu Linux 上运行的驱动只需要访问运行 Ubuntu Linux 的主机中的内存即可,然后Linux内核会利1/0内存中的数据硬件交互. 如果在不同L

Android深度探索HAL与驱动开发-——第七章

第七章主要介绍了嵌入式组态软件结构,.界面设计和功能选择区设计以及辅助功能区设计和程序生成区设计Android应用并采用Java开发嵌入式.   Android嵌入式是通过拖拽式进行程序设计,双击指定组件和调整组件属性完成的. Androd界面设计.包括布局.组件的使用.android嵌入式组态软件功能选择区设计包括界面设计.IO设计和数据库设计.   1.界面设计:分为六个模块,布局.按钮类.文本类.时间类.特殊类.属性组成.(1)布局类中包括绝对布局.框架布局和线性布局:(2)按钮类包括普通

Android深度探索HAL与驱动开发 第七章

第七章 本章学习控制发光二极管,通过直接与硬件交互完成,控制开发板上的四个小灯. LED驱动的实现原理是 理解了原理之后,我们便可以开始编写led驱动了,与上一章步骤类似,通过命令和读写文件实现.首先创建led驱动的设备文件,可以使用cdev_init,register_chrdev_region,cdev_add等建立主设备号的设备文件.步骤如下: 1使用cdev_init初始化cdev 2指定设备号 3使用cdev_add函数将字符设备添加到内核中的字符设备组中 4使用class_creat

Android深度探索(卷一)HAL与驱动开发 第七章

通过学习Android深度探索(卷一)HAL与驱动开发的第七章让我了解了如何通过驱动程序来控制发光二极管,实现驱动直接与硬件交互. 一个完整的Linux驱动主要由内部处理和硬件交互两部分组成,其中内部处理主要是指Linux驱动的装载.卸载.与设备文件相关的动作处理以及业务逻辑等:与硬件交互主要是指通过函数与硬件中的寄存器进行数据交互. LED驱动的实现原理:尽管Linux驱动直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互.每一个连接Linux的硬

Android深度探索(卷1)HAL与驱动开发 第七章 LED将为我闪烁:控制发光二极管

第七章  LED将为我闪烁:控制发光二极管 读书心得    LED驱动的实现原理 尽管Linux驱动程序直接与硬件打交道,但并不是Linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互. 编写LED驱动 测试LED驱动 LED驱动的移植 在修改Linux驱动的源代码时,应尽量不要修改Linux驱动的借口. LED驱动是本书第一个真正和硬件打交道的Linux驱动,虽然LED驱动并不复杂,只是控制了四个LED,但是LED驱动已经包括了Linux驱动所有必要的部分.一个完整的Linux

Struts2 第七章 国际化与数据验证[转]

第七章  国际化与数据校验: 1.回顾 1)Struts2数据类型转换的基础工作: 2)内置转换器默认支持8个基本的数据类型自动转换: 3)自定义转换器的定 义和配置: 2.目标和重点 1)理解国际化与本地化的基本原理: 2)掌握Struts的国际化支持应用: 3)掌握Struts2中是validate和validateXXX方法验证: 4)掌握Struts2中验证框架在开发中的使用 3.难点 1) 国际化的基本原理和Struts2对国际化的支持应用,配置国际化 2) 掌握Struts2中是va

现代软件工程 第七章 练习与讨论

7.7  移山开发方法——比TFS敏捷更精简 几个软件学院的学生来请教阿超,同学们自豪地说,我们要用全套TFS敏捷开发模式开发项目! 真的?阿超不敢相信. 同学: 对!我们要用全5个工作项类型 – 任务.缺陷.场景.风险.服务质量需求. 阿超: 你们有多少实战项目的经验?哦,都没有.这么说这是你们第一个真正的实用项目,我建议你们先忘记这么多工作项类型,把时间花在写代码上好了. 同学: 可是老师要我们上敏捷开发模式呀? 阿超: 当敏捷模式变成强迫,那还能敏捷到哪儿去呢?如果你们非用不可,我建议你们

构建之法学习(第七章 MSF)

第七章 MSF MSF(Microsoft Solution Framework)微软解决方案框架: MSF是一套大型系统开发指南,是微软推荐的软件开发方法,它描述了如何用组队模型.过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考. 一.MSF 9条基本原则 1.推动信息共享与沟通 --把所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人. 当然,对牵涉到技术机密.安全性等信息要采取必要的保护措施