Ⅰ android的Activity控件标题栏的属性怎么设置啊
Activity的标题栏,叫ActionBar,ActionBar位于Activity的顶部,可用来显示activity的标题、Icon、Actions和一些用于交互的View。它也可被用于应用的导航。
ActionBar 标题栏常用属性:
showAsAction属性用来定义每个Action是如何显示的
always表示永远显示在ActionBar中,如果屏幕空间不够则无法显示
ifRoom表示屏幕空间够的情况下显示在ActionBar中,不够的话就显示在overflow中
never则表示永远显示在overflow中
Ⅱ 安卓manifest文件配置activity时无法指定绝对路径是为何
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<activity android:name=".MainActivity" android:launchMode="standard" />
Activity的四种启动模式:
1. standard
模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。
2. singleTop
如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。
3. singleTask
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
4. singleInstance
在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
其中standard是系统默认的启动模式。
Ⅲ Android 深入探讨sigleTask和singletop的区别
区别就是设置singleTop属性的Activity启动时,如果它在栈顶,那就不创建这个Activity的实例,否则就创建一个新的实例
设置singleTask属性的Activity,后退栈里只能有一个实例,如果启动时栈中已有它的实例,会把这个Activity放到栈顶,intent传给它,同时结束掉栈中原来在它下面的Activity,否则就创建一个新的实例
这么说太绕口,举个栗子
A和B是两个Activity,当前后退栈中的顺序A→B(前面是栈底后面是栈顶)
如果A什么都没设置(默认的启动方式Standard)
启动A,栈中状态变为A→B→A
启动A,栈中状态变为A→B→A→A
...
如果A设置了SingleTop
启动A,栈中顺序变为A→B→A,重新创建了一个A的实例
如果这时再启动A,栈中顺序还是A→B→A,启动A的intent将传给栈顶的A的实例,被传给A的onNewIntent方法
也就是A在栈顶的时候,不会再创建A的实例,否则就创建新实例
如果A设置了SingleTask
启动A,后退栈中就只有A了,因为栈中已经有了一个A的实例,那么就把A放到栈顶,同时把原来在A上面的B给结束掉
也就是不论A在栈中什么位置都不会再创建A的实例,只是把这个实例放到栈顶,同时结束掉原来在它之上的所有Activity
Ⅳ Activity的启动模式有哪几种,分别用于什么
刚好最近又梳理了一下,结合我的实际使用场景回答一下= =
有四种启动模式,需要知道的是activity是交由activity栈(任务栈)管理的
standard:会在启动时创建一个新实例入栈,所以每次打开都是一个新的界面
场景:默认模式,一般的activity用这个就好
singleTop:当启动activity时,有相同的activity在前台与用户交互,就复用这个activity,回调onNewIntent()方法,避免栈顶的activity被重复的创建;如果没在栈顶,依然会创建新的实例加在栈顶
场景:这个主要针对重复打开的情况,比如你点击通知栏,跳转到消息中心,如果此时消息中心已经打开,就不会重新打开新的界面,合乎逻辑
singleTask:类似singleTop,也是避免重复创建,唯一不同的是,当启动activity时,有相同的activity在栈内,会复用此activity,回调onIntent(),并清空此activity之上所有activity
场景:一般用于程序主界面,利用清空activity的特性,比如你在应用内,打开了多个界面,触发了某个操作后都需要跳转到首页,设置了singleTask之后,就直接启动主页就好,会把之前打开的全部关掉(免得你手动一个一个关闭activity)
singleInstance:顾名思义,单一实例,整个手机操作系统里面只有一个实例存在。不同的应用去打开这个activity 共享公用的同一个activity
场景:常见于系统呼叫来电界面,每个应用打开不会重新创建新的该拨打界面。这种模式比较少用,除非你确定需要使该Activity只有一个实例
最后,上面介绍是在默认没有指定taskAffinity的情况下(即包名),具体想要更深入或者实现更复杂的场景,请结合taskAffinty和Intent Flag具体分析,在此就不介绍了。
以上。
Ⅳ Android UI开发中,设置Activity的什么属性可以使Activity显示为对话框样式.
将activity设置成对话框样式,只需在activity属性里面增加下面一句代码:
Ⅵ Android开发--activity属性有什么,弄了半天
Activity是Android组件中最基本也是最为常见用的四大组件之一,在 android开发中
,运用极为广泛,作为初学者需要熟练掌握,下例为Activity属性常用设置。
android:allowTaskReparenting
是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。
android:alwaysRetainTaskState
是否保留状态不变, 比如切换回home, 再从新打开,
activity处于最后的状态
android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home,
从新启动 P, 是否显示 Q
android:configChanges
当配置list发生修改时, 是否调用 onConfigurationChanged() 方法 比如
"locale|navigation|orientation".
android:enabled
activity 是否可以被实例化,
android:excludeFromRecents
是否可被显示在最近打开的activity列表里
android:exported
是否允许activity被其它程序调用
android:finishOnTaskLaunch
是否关闭已打开的activity当用户重新启动这个任务的时候
android.icon
android:label
android:launchMode
activity启动方式, "standard" "singleTop" "singleTask"
"singleInstance"
其中前两个为一组, 后两个为一组
android:multiprocess
允许多进程
android:name
activity的类名, 必须指定
androidnHistory
是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的
android:permission
android:process
一
个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致。中的元素process属性能够为所有组件设定一个新的默认值。但是任何组件都可以覆盖这个默认值,允许你将你的程序放在多进程中运行。
如果这个属性被分配的名字以:开头,当这个activity运行时, 一个新的专属于这个程序的进程将会被创建。
如果这个进程名以小写字母开头,这个activity将会运行在全局的进程中,被它的许可所提供。
Ⅶ activity设置singleTop无效
如此这般配置即可。在AndroidManifest.xml文件中 这样设置就好了。在AndroidManifest.xml中的标签中可以配置android:launchMode属性,用来控制Actvity的启动模式在Android系统中我们创建的Acitivity是以栈的形式呈现的,每个应用都有独立的任务栈Task.一个栈中可以有多个Activity.启动另一个应用的Activity,会把那个应用的栈也移到前面,(栈里面可能还有这个应用的其它的Activity)standard:每次调用startActivity()启动时都会创建一个新的Activity放在栈顶 注:默认都是这个模式singleTop:启动Activity时,指定Activity不在栈顶就创建,如在栈顶,则不再创建 注:不会出现两个相同的Activity相邻singleTask:如果启动的Activity不存在就创建Activity,如果存在直接跳转到指定的Activity所在位置 注:在其上面的Activity会被移出栈,也就是一个栈中不能有重复的ActivitysingleInstance:如果启动的Activity不存在就创建一个Activity同时创建一个栈,如果存在就将指定的Activity存在的栈移动到栈顶 注:表示这个Activity只能存在于一个独立的任务栈中,同应用的其它Activity与其无关. 查看更多答案>>