首页 > 代码库 > android 中activity 属性说明(转载)

android 中activity 属性说明(转载)

转自:http://liuwuhen.iteye.com/blog/1759796

 

activity是android中使用非常平凡的一种组件,我们除了需要掌握activity中的生命周期以外,还需要掌握activity中的其

 

他设置。

 

1.activity 中主题的设置

 

  android中我们可以通过AndroidManifest.xml中设置activity中的主题,其实android提供了许多自带的主题样式,如下:

android:theme="@android:style/Theme.Dialog"   将一个Activity显示为能话框模式
android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  不显示应用程序标题栏,并全屏
android:theme="Theme.Light"  背景为白色
android:theme="Theme.Light.NoTitleBar"  白色背景并无标题栏
android:theme="Theme.Light.NoTitleBar.Fullscreen"  白色背景,无标题栏,全屏
android:theme="Theme.Black"  背景黑色
android:theme="Theme.Black.NoTitleBar"  黑色背景并无标题栏
android:theme="Theme.Black.NoTitleBar.Fullscreen"    黑色背景,无标题栏,全屏
android:theme="Theme.Wallpaper"  用系统桌面为应用程序背景
android:theme="Theme.Wallpaper.NoTitleBar"  用系统桌面为应用程序背景,且无标题栏
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen"  用系统桌面为应用程序背景,无标题栏,全屏
android:theme="Translucent"
android:theme="Theme.Translucent.NoTitleBar"  透明,无标题栏
android:theme="Theme.Translucent.NoTitleBar.Fullscreen"  透明,无标题栏,并且全屏显示
android:theme="Theme.Panel" 
android:theme="Theme.Light.Panel"

 

我们可以通过需求来设置不同的主题。

 

2.android 中activity横竖屏设置

 

由于手机可以支持横竖屏切换,当android进行切换时可以回对页面中的布局照成影响,当在AndroidManifest.xml文件中定义了android:screenOrientation="portrait",就表示当我们切换横竖屏的时候,屏幕的内容始终以竖屏显示,而不会根据屏幕的方向来显示内容。而设置为android:screenOrientation="landscape"则为横屏显示。

 

3.android中activity中launchMode属性的几种值说明

 

launchMode 中的是四种状态

 

standard:每次都创建一个实例,默认将Activity加入到当前Task。


singleTop:启动的不是当前的Activity的话,则创建一个实例,并加入当前Task,否则抛弃 ,Intent不做任何反应
 
singleTask:只有一个Task,不会重新创建已存在的Activity。
 
singleInstance:一个Task里只有一个Activity。启动Acivity时,会重新创建一个Task,并把Activity加入新建的Task。

 

例如:如果用户长时间的离开一个任务,那么系统会清除这个任务根Activity以外的所有Activity。当用户再次返回这个任务时,只有根Activity被存储。系统行为的这种方式是因为经过长时间以后,用户在返回这个任务之前可能已经放弃它们的作业,而开始了某些新的任务。


你能够使用一些Activity属性来修改这种行为
1.alwaysRetainTaskState
如果这个属性在一个任务的根Activity中被设置为“true”,那么像上面描述的那样的默认行为就不会发生。即使是长时间之后,这个任务也会在它的堆栈中保留所有的Activity。
2.clearTaskOnLaunch
如果这个属性在一个任务的根Activity中被设置为“true”,那么无论用户什么时候离开和返回这个任务,堆栈都会被清除到根Activity的位置。换句话说,它与alwaysRetainTaskState属性相反,用户总是返回到任务的初始状态,即使只离开这个任务一会儿。
3.finishOnTaskLaunch
这个属性点像clearTaskOnLaunch属性,但是它只操作单个Activity,而不是整个任务。它也能导致任何Activity离开,包括根Activity。当这个属性设置为“true”时,这个Activity只保持着这个任务中当前会话那部分。如果用户离开,然后再返回这个任务,那么它就不再存在了。

android 中activity 属性说明(转载)