为了确保对应用中 Activity 的创建和销毁状态进行控制,所以就需要一个全局的变量来记录和销毁这些 Activity.这里的大概思路是写一个类继承 Application,并使获取该 Application 的实体为单例模式,在新的 Activity 被创建时在对应 Activity 的 onCreate 方法中将自己存入 Application 的集合中,然后在应用退出时将 Application 存有的 Activity 逐个进行销毁即可完全退出应用.代码如下: package cn.s…
为 Activity 设置切换动画 我们知道,我们可以在 AndroidManifest.xml 文件中,通过 android:theme 属性设置 Activity 的主题.主题中定义了关于 Activity 外观的很多特性.同时,主题中还可以定义 Activity 的切换动画.这是应用 Activity 切换动画的一种方法.下面讲解一下如何通过主题来设置 Activity 间的切换动画. 定义包含动画的 Activity 主题 res/values/styles.xml,很简单,就是使用 w…
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍.说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西…
问题 Android 设置页面的启动模式为 singletask 之后,当按Home 退出时,再重新打开应用,还会进入首启动页.就会造成一些应用需要重新登录,当前页数据丢失等问题 解决 去除启动页的 singletask 的启动模式(AndroidManifest.xml) 在启动页activity添加如下代码 // 避免从桌面启动程序后,会重新实例化入口类的activity if (!this.isTaskRoot()) { // 判断当前activity是不是所在任务栈的根 Intent i…
实现方式一(使用系统透明样式) 通过配置 Activity 的样式来实现,在 AndroidManifest.xml 找到要实现透明效果的 Activity,在 Activity 的配置中添加如下的代码设置该 Activity 为透明样式,但这种实现方式只能实现纯透明的样式,无法调整透明度,所以这种实现方式有一定的局限性,但这种方式实现简单. android:theme="@android:style/Theme.Translucent" <activity android:na…
从 API 8 开始(参考官方文档:App Install Location | Android Developers),你可以将你的应用安装在外部储存中(例如,安装到设备的 SD 卡上).这是一个可选的特征,你可以在你的应用的 AndroidManifest.xml 中声明 android:installLocation 属性.如果你没有声明这个属性,你的应用程序将会被安装在内部储存,并且不能被移到外置储存中. 修改 AndroidManifest.xml 文件中 <manifest> 元素…
服务(Service) 是一种在后台运行,没有界面的组件,由其他组件调用开始.Android 中的服务和 Windows 中的服务是类似的东西,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序. 服务(Service)的实现 1. 定义类继承 Service,重写 onCreate(). onStart(Intent intent, int startId). onBind(Intent intent). onUnbind(Intent intent).onDestroy() 中需…
Canvas and Drawables 安卓提供了一组绘制二维图形的 API(参考官方文档:Canvas and Drawables | Android Developers),这组 API 允许开发者通过将自定义图形绘制到画布上或修改现有视图来实现视图的定制,绘制二维图形,通常有以下两种方式: 在布局文件中引入自定义视图或动画,这种方式的图形绘制会交由系统来处理,你只需要将自定义图形引入视图. 直接将图形绘制到画布上,这种方式的绘制就需要开发者重写并调用对应类的 onDraw(android…
在安卓操作系统下对于 TextView 字体的支持很有限,默认情况下 TextView 的 typeface 属性支持 "Sans","serif","monospace" 这三种字体,假设在没有指定字体的情况下.系统缺省会使用 "Sans" 作为文本显示的字体.但这三种字体仅仅支持英文,也就是说仅仅要你显示的文字是中文,不管你选择这三种字体中的哪一种,显示效果都是一样的.为此,谷歌又提供了第二种字体的支持方式:字库.在 An…
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev).onInterceptTouchEvent(MotionEvent ev).onTouchEvent(MotionEvent ev):能够响应这些方法的控件包括:ViewGroup 及其子类.Activity.方法与控件的对应关系如下表所示: Touch 事件相关方法   方法功能     ViewGroup         Activity        public b…