`
文章列表
ImageSwitcher图像切换器,可以切换器图像。ImageSwitcher类的继承图如下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.FrameLayout          ↳ android.widget.ViewAnimator            ↳ android.widget.ViewSwitcher              ↳ android.widget.ImageSwitcher android.widget.I ...
TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实际中常用的布局方式。 TableLayout布局不会显示行、列 、单元格的边框线。TableLayout布局应用如图7-17所示。   图7-17 TableLayout1 TableLayout布局文件请参考代码清单7-20,完整代码请参考chapter7_5工程中tablelayout1.xml代码部分(chapter7_5/res/layout/tablelayout1.xml)。 【 ...
AbsoluteLayout绝对布局,指定了子元素准确的x/y坐标值,并显示在屏幕上。该布局没有屏幕边框,允许元素之间互相重叠。在实际中不提倡使用这种布局方式,因为它固定了位置,所以在进行屏幕旋转时有明显弊端。图7-15是绝对布局应用。   图7-15 AbsoluteLayout AbsoluteLayout布局文件请参考代码清单7-17,完整代码请参考chapter7_4工程中absolutelayout.xml代码部分(chapter7_4/res/layout/absolutelayout.xml)。 【代码清单7-17】 <?xml version="1.0&q ...
RelativeLayout相对布局, 允许子元素指定他们相对于其它元素或父元素的位置(通过ID 指定)。因此,可以以左右对齐、上下对齐、置于屏幕中央等形式来排列元素。相对布局在实际应用中比较常用。图7-13所示是垂直方向上的应用。   图7-13 RelativeLayout1 RelativeLayout布局文件请参考代码清单7-15,完整代码请参考chapter7_3工程中relativelayout1.xml代码部分(chapter7_3/res/layout/relativelayout1.xml)。 【代码清单7-15】 <?xml version="1.0& ...
LinearLayout线性布局,线性布局是所有布局中最常用的,它可以让其中的子元素垂直或水平的方式排列(通过排列方向的设置)。通常复杂的布局都是在LinearLayout布局中嵌套而成的。 下面看一个LinearLayout的例子,这个例子中有垂直和水平的嵌套使用,例子如下图7-12所示。   图7-12 LinearLayout 布局文件请参考代码清单7-14,完整代码请参考chapter7_2工程中linearlayout2.xml代码部分(chapter7_2/res/layout/linearlayout2.xml)。 【代码清单7-14】 <?xml version=& ...
何谓国际化和本地化呢?就是在资源文件夹res内建立不同国家语言的文件,这些国家语言的文件命名是有规定的,具体参见表6-1。当用户设置手机的语言时,程序能根据用户选择的语言情况,而加载相对应的语言文件。用户感受到是程序的本地化,而对于开发人员来讲就是程序实现了国际化。 在本例中实现了一个注册的界面,它可以实现中文简体和中文繁体的本地化过程,编写的string.xml和文件夹命名如表6-1。 表6-1 文件命名对比表 values/strings.xml 默认 values-zh-rCN/strings.xml 中文(简体) values-zh-rTW/strings.xml 中文(繁体) re ...
Gallery(相册)控件是个很不错的图片查看控件,屏幕中有一个图片列表,Gallery类的继承关系如下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.AdapterView<T extends android.widget.Adapter>          ↳ android.widget.AbsSpinner            ↳ android.widget.Gallery 这个Gallery案例,可以用手滑动Galle ...
Android中的数据能够通过GridView类实现表格化展现,它也属于列表类型的控件,其继承关系如下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.AdapterView<T extends android.widget.Adapter>          ↳ android.widget.AbsListView            ↳ android.widget.GridView GridView控件应用案例效果如图6-10 ...
Toast用于向用户显示一些帮助或提示,有三种展现形式: • 文本类型 • 图片类型 • 复合类型 6.2.1 文本类型 下面看看一个文本类型Toast的例子,如图6-13所示,点击按钮会在屏幕的中下部分出现一个气泡,过一会又会消失了。   图 6-13图文本类型Toast 实现方式请参考代码清单6-10: 【代码清单6-10】 chapter6_6/src/com/work/Toast_1.java public class Toast_1 extends Activity { @Override public void onCreate(Bundle savedInst ...
ListView是Android中最为常用的列表类型控件,ListView中的选择项目中样式很多有的是纯文字的、有的还可以带有图片。它的继承关系如下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.AdapterView<T extends android.widget.Adapter>          ↳ android.widget.AbsListView            ↳ android.widget.ListView ...
Spinner控件也是一种列表类型的控件,它的继承关系如下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.AdapterView<T extends android.widget.Adapter>          ↳ android.widget.AbsSpinner            ↳ android.widget.Spinner android.widget.Spinner继承了android.view.ViewGrou ...
网络文件就是指放在网络上的文件,也可能是流媒体等网络资源。由于这种方式不用存储比较方便,但它的弊端就是要通过网络,速度要比上两种方式差,因此一般网络播放方式要采用异步预处理方式。还有网络流量费用也会增加用户的使用成本。下面看看播放网络音频文件的代码请参考代码清单12-3,完整代码请参考Chapter12_3工程中AudioPlayer代码部分。 【代码清单12-3】 private void play() { try { if (mMediaPlayer == null || state == STOP) { // 创建MediaPlayer对象并设置Listener ...
     本地文件就是指文件放在Android系统的外部存储设备(如:SD卡)和内部设备上的文件,SD卡比较方便,容易更新音频文件,适合于以娱乐为主的应用系统。下面看看播放本地音频文件的代码请参考代码清单12-2,完整代码请参考Chapter12_2工程中AudioPlayer代码部分。 【代码清单12-2】 private void play() { File sdCardDir = Environment.getExternalStorageDirectory(); String path = sdCardDir.getPath() + "/Lover's Conc ...
     播放音频文件。按照音频文件来源不同可以分为:资源文件播放、系统播放文件和网络文件播放。      资源文件播放是放在“<工程>/res/raw”,然后发布的时候被打成APK包一起安装在手机上。很显然这种方式不适合用于播放娱乐为主的多媒体文件,由于娱乐的多媒体文件是经常更新的,而放置在这个raw下面的文件用户是没有权限更新的,因此这种方式一般用于应用自己的一些音频和视频播放,如按键音、开机启动音、信息提示音等应用使用的声音。     下面看看播放资源音频文件的代码请参考代码清单12-1,完整代码请参考Chapter12_1工程中AudioPlayer代码部分。 【代码清单12 ...
要想使用Google的Map服务编写应用,无论是Google Map API和Google Map Android API都需要申请Key。Google Map API中的Key的申请这里就不介绍了,主要介绍Google Map Android API的Key,它的申请步骤如下: • 找到或创建keystore证书文件; • 生成MD5认证指纹; • 生成Google Map API Key。 1.找到或创建keystore证书文件 我们在本书的第3章的应用程序的打包、安装和卸载部分已经介绍了,本章就不再介绍了。 2.生成MD5认证指纹 刚才花了很多篇幅介绍证书文件的生成,下面介绍生成MD5认证 ...
Global site tag (gtag.js) - Google Analytics