乐读文学

Android从入门到精通

乐读文学 > 科普学习 > Android从入门到精通

第81页

书籍名:《Android从入门到精通》    作者:明日科技




library  =  GestureLibraries.fromRawResource(this,  R.raw.gestures);  //加载手势文件



et  =  (EditText)  findViewById(R.id.editText);



if  (!library.load())  {  //如果加载失败则退出



finish();



}



GestureOverlayView  gesture  =  (GestureOverlayView)  findViewById(R.id.gestures);



gesture.addOnGesturePerformedListener(this);  //增加事件监听器



}



@Override



public  void  onGesturePerformed(GestureOverlayView  overlay,  Gesture  gesture)  {



ArrayList  gestures  =  library.recognize(gesture);  //获得全部预测结果



int  index  =  0;  //保存当前预测的索引号



double  score  =  0.0;  //保存当前预测的得分



for  (int  i  =  0;  i  <  gestures.size();  i++)  {  //获得最佳匹配结果



Prediction  result  =  gestures.get(i);  //获得一个预测结果



if  (result.score  >  score)  {



index  =  i;



score  =  result.score;



}



}



String  text  =  et.getText().toString();  //获得编辑框中已经包含的文本



text  +=  gestures.get(index).name;  //获得最佳匹配



et.setText(text);  //更新编辑框



}



}

运行程序后,绘制手势,如图7.16所示。



图7.16 用户绘制的手势

在手势绘制完成后,显示最佳匹配信息,如图7.17所示。



图7.17 手势对应的字符





7.6 小 结

本章重点介绍了Android中常见的事件处理方式,通过与前面介绍的常用控件结合,就可以实现Android应用程序的外部骨架。本章介绍的内容几乎在各个应用程序中都会使用,请读者务必熟练掌握。





7.7 实践与练习

1.  编写Android程序,显示用户触摸持续的时间。(答案位置:光盘\TM\sl\7\7.8)

2.  编写Android程序,显示用户触摸的位置。(答案位置:光盘\TM\sl\7\7.9)





第8章 资源访问

(  教学录像:2小时56分钟)

Android中的资源是指可以在代码中使用的外部文件,这些文件作为应用程序的一部分,被编译到应用程序中。在Android中,各种资源都被保存到Android应用的res目录下对应的子目录中,这些资源既可以在Java文件中使用,也可以在其他XML资源中使用。本章将对Android中的资源进行详细介绍。

通过阅读本章,您可以:

★  掌握字符串资源、颜色资源和尺寸资源文件的定义及使用



★  掌握布局资源



★  掌握数组资源文件的定义及使用



★  掌握图片资源和StateListDrawable资源的使用



★  掌握样式和主题资源的使用



★  掌握如何通过菜单资源定义上下文菜单和选项菜单



★  掌握如何对Android程序进行国际化





8.1 字符串(string)资源

教学录像:光盘\TM\lx\8\字符串(string)资源.exe

在Android中,当需要使用大量的字符串作为提示信息时,可以将这些字符串声明在配置文件中,从而实现程序的可配置性。下面对字符串资源进行详细介绍。

8.1.1 定义字符串资源文件

字符串资源文件位于res\values目录下,根元素是  标记,在该元素中,使用标记定义各字符串。其中,通过为标记设置name属性来指定字符串的名称,在起始标记和结束标记中间添加字符串的内容。例如,在Android项目中,创建一个名称为strings.xml的字符串资源文件,在该文件中定义一个名称为introduce的字符串,内容是公司简介,strings.xml的具体代码如下:





明日科技有限公司是一家以计算机软件为核心的高科技企业,多年来始终致力于行业管理软件开发、数字化出版物制作、计算机网络系统综合应用以及行业电子商务网站开发等领域。





说明:  在Android中,资源文件的文件名不能采用大写字母,必须是以小写字母a~z开头,由小写字母a~z、数字0~9或者下划线“_”组成。

8.1.2 使用字符串资源

在字符串资源文件中定义字符串资源后,就可以在Java或XML文件中使用该字符串资源了。在Java文件中使用字符串资源的语法格式如下:

[.]R.string.字符串名

例如,在MainActivity中,要获取名称为introduce的字符串,可以使用下面的代码:

getResources().getString(  R.string.introduce  )

在XML文件中使用字符串资源的基本语法格式如下:

@[:]string/字符串名

例如,在定义TextView组件时,通过字符串资源为其指定android:text属性的代码如下:




android:layout_width="  wrap_content"



android:layout_height="wrap_content"



android:text="@string/introduce"  />





8.2 颜色(color)资源

教学录像:光盘\TM\lx\8\颜色(color)资源.exe

颜色资源也是进行Android应用开发时比较常用的资源,它通常用于设置文字、背景的颜色等。下面对颜色资源进行详细介绍。

8.2.1 颜色值的定义

在Android中,颜色值通过RGB(红、绿、蓝)三原色和一个透明度(Alpha)值表示。它必须以  “#”开头,后面接Alpha-Red-Green-Blue形式的内容。其中,Alpha值可以省略,如果省略,表示颜色默认是完全不透明的。通常情况下,颜色值使用以下4种形式之一。

[√]#RGB:使用红、绿、蓝三原色的值来表示颜色,其中,红、绿和蓝采用0~f来表示。例如,要表示红色,可以使用#f00。



[√]#ARGB:使用透明度以及红、绿、蓝三原色来表示颜色,其中,透明度、红、绿和蓝均采用0~f来表示。例如,要表示半透明的红色,可以使用#6f00。