Android学习笔记-Activity

2016-03-28  本文已影响413人  AtBind
  1. Activity的创建和配置

<manifest ... >
  <application ... >
      <activity android:name=".MyActivity" />
      ...
  </application ... >
  ...
</manifest >

在Activity元素中,可以设置标签,图标,风格主题等,但是android:name标签是必须要指定一个类名,其中的. 表示该类在当前程序所在的包下,如果该类不在当前包下,则需要用完成的包名+类名

以下标签后的注释仅供您参考下,毕竟英语水平有限,还有就是我还是个新手,对于以下标签的理解还不是很透彻,可能会误导大家,所以具体的使用方法请参照官网相关API指南

<activity android:allowEmbedded=["true" | "false"] //
          android:allowTaskReparenting=["true" | "false"]
          android:alwaysRetainTaskState=["true" | "false"]
          android:autoRemoveFromRecents=["true" | "false"]  //true 任务将会自动的从overview screen中移除
          android:banner="drawable resource"
          android:clearTaskOnLaunch=["true" | "false"]  //个属性用来标记是否从task清除除根Activity之外的所有的Activity,“true”表示清除,“false”表示不清除,默认为“false”。同样,这个属性也只对根Activity起作用,其他的Activity都会被忽略。 如果设置了这个属性为“true”,每次用户重新启动这个应用时,都只会看到根Activity,task中的其他Activity都会被清除出栈。如果我们的应用中引用到了其他应用的Activity,这些Activity设置了allowTaskReparenting属性为“true”,则它们会被重新宿主到有共同affinity的task中。 每次home后,启动都会清除task中的其他activity。
          android:configChanges=["mcc", "mnc", "locale",
                                 "touchscreen", "keyboard", "keyboardHidden",
                                 "navigation", "screenLayout", "fontScale",
                                 "uiMode", "orientation", "screenSize",
                                 "smallestScreenSize"]
          android:documentLaunchMode=["intoExisting" | "always" |
                                  "none" | "never"]
          android:enabled=["true" | "false"] //是否可以被实例化
          android:excludeFromRecents=["true" | "false"]
          android:exported=["true" | "false"]  //Activity 是否能被其他程序的启动,True 表示可以,false 表示只能被同一程序的组件或者拥有相同用户签名的程序启动,默认值取决于该Activity intent filters
          android:finishOnTaskLaunch=["true" | "false"]
          android:hardwareAccelerated=["true" | "false"]  //是否开启硬件加速
          android:icon="drawable resource"                       //程序的图标
          android:label="string resource"                       //Activity标题显示的文字
          android:launchMode=["multiple" | "singleTop" |
                              "singleTask" | "singleInstance"]//Activity的四种启动模式,默认为standard
          android:maxRecents="integer" //设置该Activity在总览屏幕(overview screen)的最大任务数 有效值介于1-50 默认为16,低内存设备上限为25
          android:multiprocess=["true" | "false"]
          android:name="string"  //Activity对应的类名
          android:noHistory=["true" | "false"]  // true 表示当用户离开当前Activity并且不在屏幕上显示该Activity时,会从堆栈中移除该Activity并且调用finish()销毁.默认值为false 当为true时 onActivityResult() 该方法将不会被调用
          android:parentActivityName="string"  //设置启动权限  可用来完成向上导航(Up navigation)
          android:permission="string" //权限
          android:process="string"
          android:relinquishTaskIdentity=["true" | "false"]
          android:screenOrientation=["unspecified" | "behind" |
                                     "landscape" | "portrait" |
                                     "reverseLandscape" | "reversePortrait" |
                                     "sensorLandscape" | "sensorPortrait" |
                                     "userLandscape" | "userPortrait" |
                                     "sensor" | "fullSensor" | "nosensor" |
                                     "user" | "fullUser" | "locked"]
          android:stateNotNeeded=["true" | "false"]
          android:taskAffinity="string"
          android:theme="resource or theme"  // Activity 的主题样式
          android:uiOptions=["none" | "splitActionBarWhenNarrow"]
          android:windowSoftInputMode=["stateUnspecified",
                                       "stateUnchanged", "stateHidden",
                                       "stateAlwaysHidden", "stateVisible",
                                       "stateAlwaysVisible", "adjustUnspecified",
                                       "adjustResize", "adjustPan"] >   
    . . .
</activity>

2.Activity的启动和关闭

Activity两种启动方式

Activity 结束方式

3.Activity的生命周期

在Activity的生命周期中主要有以下几个方法

Resumed:已恢复状态,此时Activity位于前台,并且获得用户焦点
pasued : 暂停状态, 其他Activity获得用户焦点,但该Activity仍然可见,仍存在与内存中
Stoped : 停止状态,该Activity完全被其他Activity覆盖,仍存在于内存中,可随时被系统杀死

activity_lifecycle

整个生命周期: 从onCreate()开始到onDestroy()结束
可见生命周期: 从onStart()onStop() 可以看到Activity在屏幕上,尽管有可能不在前台,不能和用户交互,在这两个方法之间,需要保持显示给用户的UI数据和资源等.
前台生命周期: 从onResume()onPase() 该Activity处于所有Activity的最前面,和用户交互.

4.Activity的启动模式

android:launchMode=["multiple" | "singleTop" |
                  "singleTask" | "singleInstance"]//Activity的四种启动模式,默认为standard
上一篇 下一篇

猜你喜欢

热点阅读