Manifest.xml下的一些属性定义和用法
android:allowTaskReparenting android:alwaysRetainTaskState 一般来说,特定的情形如当用户从主画面重新选择这个Task时,系统会对这个Task进行清理(从stack中删除位于根Activity之上的所有Activivity)。典型的情况,当用户有一段时间没有访问这个Task时也会这么做,例如30分钟。 android:clearTaskOnLanunch 用法<activity android:clearTaskOnLanunch=”true/false”></activity> 用来标记是否从Task中清除所有的Activity,除了根Activity外(每当从主画面重新启动时)——“true”,表示总是清除至它的根 Activity,“false”表示不。默认值是“false”。这个特性只对启动一个新的Task的Activity(根Activity)有意义; 对Task中其它的Activity忽略。 当这个值为“true”,每次用户重新启动这个Task时,都会进入到它的根Activity中,不管这个Task最后在做些什么,也不管用户是使用 BACK还是HOME离开的。当这个值为“false”时,可能会在一些情形下(参考alwaysRetainTaskState特性)清除Task的 Activity,但不总是。 假设,某人从主画面启动了Activity P,并从那里迁移至Activity Q。接下来用户按下HOME,然后返回Activity P。 如果这个特性和allowTaskReparenting都设定为“true”,那些能重新宿主的Activity会移动到共享affinity的Task中; android:configChanges 当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如 "locale|navigation|orientation". 举例:在按下power键时,直接在应用程序里onPause处理就好。当app是竖屏时,这样处理没问题。但是当app是横屏时,按下power键,app会强制回到竖屏,并且会重新调用activity的onCreate。很多时候这不是预期结果,所以就会用到 在配置文件里设置android:configChanges=”keyboardHidden|orientation”,这样在屏幕方向改变的时候就不会重新调用activity的onCreate()方法,而是调用onConfigurationChanged(),然后在activity里面重在下。 @Override public void onConfigurationChanged(Configuration newConfig){ super.onConfigurationChanged(newConfig); if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){ //横向 }else{ //竖向 } } android:enabled activity 是否可以被实例化 用法:<activity android:enabled="true"></activity> android:excludeFromRecents 是否可被显示在最近打开的activity列表里 用法:<activity android:excludeFromRecents="true"></activity> android:exported 是否允许activity被其它程序调用 android:finishOnTaskLaunch 用来标记当用户再次启动它的Task(在主画面选择这个Task)时已经存在的Activity实例是否要关闭(结束)——“true”,表示应该关闭,“false”表示不关闭。默认值是“false”。 如果这个特性和allowTaskReparenting都设定为“true”,这个特性胜出。Activity的affinity忽略。这个 Activity不会重新宿主,但是会销毁。 android.icon 用法:<application android:icon="@drawable/xx_icon"></application>,加在应用程序图标 android:label 定义了每个title栏的名称,但是优先级低于activity中的setTitle() android:launchMode 用于指示Activity如何启动。这里有四种模式,与Intent对象中的Activity Flags(FLAG_ACTIVITY_*变量)共同作用, "standard" "singleTop" "singleTask" "singleInstance" 默认模式是“standard”。 “standard”和“singleTop”为第一组,“singleTask”和“singleInstance”为第二组。 第一组可以被实例化很多次。这些实例可以属于任何task并且可以位于activity stack的任何位置。典型的情况是, android:multiprocess 允许多进程 android:name activity的类名, 必须指定 android:onHistory 是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的 android:permission android:process 一个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致。 android:screenOrientation activity显示的模式,"unspecified" 默认值 "landscape" 风景画模式,宽度比高度大一些 "portrait" 肖像模式,高度比宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor" android:stateNotNeeded 是否 activity被销毁和成功重启并不保存状态 android:taskAffinity activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系 android:theme activity的样式主题,如果没有设置,则activity的主题样式从属于应用程序, 参见<application>元素的theme属性 android:windowSoftInputMode activity主窗口与软键盘的交互模式,自从API level 3 被引入 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |