Android-android activity属性如何设置

发布于 2016-11-02 03:29:42 字数 113 浏览 1324 评论 5

app里面有个主activity A, A可以调出另一个activity B, 按home键返回待机界面。然后再进入这个app,应该回到A应该怎么设置属性。
A->B->HOME->A

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

灵芸 2017-10-16 10:47:05

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将会运行在全局的进程中,被它的许可所提供。

android:screenOrientation
activity显示的模式, "unspecified" 默认值 "landscape" 风景画模式,宽度比高度大一些 "portrait" 肖像模式, 高度比宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor"

android:stateNotNeeded
是否 activity被销毁和成功重启并不保存状态

android:taskAffinity
activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系

android:theme
activity的样式主题, 如果没有设置,则activity的主题样式从属于应用程序, 参见元素的theme属性

android:windowSoftInputMode
activity主窗口与软键盘的交互模式, 自从API level 3 被引入

活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:

1> 软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。

2> 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。

它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值

值 描述

"stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。

"stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。

"stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。

"stateAlwaysHidden" 软键盘总是被隐藏的,当该Activity主窗口获取焦点时。

"stateVisible" 软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。

"stateAlwaysVisible" 当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。

"adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。

"adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。

"adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。

参考:http://blog.163.com/hero_213/blog
更多参考:click me

想挽留 2017-08-13 13:57:24

类似问题可以参考文档 Tasks and Back Stack

泛泛之交 2017-07-01 11:41:44

这个需求,不懂我没看明白还是怎么样的
A->B->HOME->A 你按下home 是指一定是按下home 键回来时 才到A 还是指你程序完全被覆盖时,再回来就是A了呢, 如果不是指定按下HOME的话。。。
我就理解为后者的话, 我觉得复写activity 的回调方法就行了, 当B完全不跟用户交互了,就会onStop(), 在里面直接finsh(), 根据android Activity 堆栈管理性质,A自然就出来了。

晚风撩人 2017-01-23 14:25:54

android:launchMode="singleTask" 可以实现这个功能.

灵芸 2016-11-18 04:37:02

在app的Manifest.xml中,将Activity A的launchMode="singleTask"即可,经本人验证可行。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文