问题标签 [android-configchanges]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Fragment.getArguments() 是否在配置更改后返回传递的参数?
对不起我的英语不好
在通过\进行配置更改期间,我是否应该保存和恢复参数(由返回getArguments()
)?outState
savedInstanceState
或者getArguments()
即使在配置更改后也总是返回传递的参数?
android - 配置更改导致我的片段进度出现问题
我目前面临一个问题,我想通过不使用谷歌建议的configChange
in来正确处理旋转。Manifest
但是我真的不明白如何在旋转之后保持我的进度,特别是当你将片段添加到BackStack
.
有谁知道如何或一个tutorial
,帖子,短信等...解释如何做到这一点?
提前感谢您的回答;)
android - 了解配置是否更改的最佳方法是什么?
我不确定如何在我的应用程序上获取此信息:如何知道活动何时因配置更改而重新启动?(任何配置更改)。
在我的代码中,如果活动“正常”重新启动但不是因为配置更改,我需要执行一个方法。
android - Android - 显示旋转时执行代码
我想做的是让它在设备旋转时执行一些代码。
我已经尝试将我想要发生的事情放在上面的代码中,但是,运气不好,我用谷歌搜索了一下,但也找不到任何东西。这可能吗?提前感谢您的帮助!:)
java - 为什么我的方向变化没有被注意到?
根据此处接受的答案,我将此代码添加到活动中,作为我希望成为更改活动分配布局的第一步:
...并在 AndroidManifest.xml 中修改了 Activity 的元素。例如,从这里改变它:
...变成这样:
(我添加了“configChanges”爵士乐)。
但是,虽然 mashing keypad.9 确实在模拟器中翻转了方向,但没有引发吐司(onConfigurationChanged() 的“if”行上的断点没有被命中)。我做错了什么或遗漏了什么?
注意:当我从 AndroidManifest 中的“configChanges”行中删除“|keyboardHidden”时没有任何区别(这只是一种预感——我想知道这是否意味着“不注意通过键盘进行的方向更改”)。
更新
我尝试了 araut 的建议,以及 Jared Burrows 的建议,但没有一个适合我。
冷这简直是模拟器的问题?我还没有设备来测试它,所以我自己无法凭经验回答这个问题。
更新 2
根据我在这里读到的内容,我想也许添加一些 OrientationEventListener 爵士乐可以解决这个难题,但不是!
这是我添加的代码(在上下文中显示;新的是 OrientationEventListener 的东西):
...但我仍然没有反应(没有从这里或 onConfigurationChanged() 事件引发敬酒)。
android - Android SDK 版本:configChanges 和不推荐使用的方法
我正在尝试构建一个与低版本 Android 兼容的应用程序。另一方面,我注意到如果我将目标 SDK 版本设置为更高的值(如 19),则某些功能会更好地工作;特别是,动画更加流畅。所以——清单:
此外,虽然应用程序知道如何重新启动自己,但它并没有完全这样做。我更喜欢在不关闭应用程序的情况下处理大小调整。因此,我在清单中有以下内容:
到目前为止,一切都很好。现在,我在 project.properties 中放了什么?
target=android-19
显示了很多关于不推荐使用的方法的警告。如果我尝试使用“替换”方法来修复它们,则会导致编译后的代码与 API-7 不兼容。
target=android-7
在 Manifest 中给我一个错误,因为screenSize
未定义其他一些配置更改选项。
建议?
android - 在片段中使用 setRetainInstance(true) 更改旋转时应用程序崩溃
我想要纵向和横向模式的不同布局。此外,我希望我的片段在方向发生变化时保存它们的状态。这里是layout\activity_main.xml
:
它是layout-land\activity_main.xml
:
这里是MainActivity
:
它是Fragment1:
Fragment2 与 Fragment1 相同。
但是,当我以纵向模式开始并旋转到横向模式时,应用程序崩溃了。问题是因为使用setRetainInstance(true)
,它保存了对 的引用R.id.container
,但横向布局中不存在此容器,这是输出:
但据此,我必须onRetainInstance
在片段中使用来处理方向变化。我现在该怎么办?
提前致谢!
android - 为不同方向使用不同布局时,在方向更改时保存片段状态
我对纵向和横向模式有不同的布局。layout\activity_main.xml
:
并且layout-large\activity_main.xml
:
我的片段是相同的,fragment1.xml
并且fragment2.xml
:
我想要的是当我在片段的编辑文本中输入一些文本并旋转屏幕时,编辑文本不会丢失其输入文本。
由于纵向和横向模式下的片段不是一个实例,我不能使用setRetaintInstance
or onSaveInstanceState
。在不定义两个活动且不使用的情况下如何做到这一点onConfigurationChanged
?
注意:无需添加任何代码,每个片段都会保存其数据。因此,如果我以纵向模式在 fragment2 中输入一些文本并旋转到横向并再次旋转到纵向模式,我会看到输入的文本。
android - 活动处于纵向模式,但它会在横向模式下找到片段
对于纵向和横向模式,我有 2 种不同的布局:
layout\activity_main.xml
:
并且layout-land\activity_main.xml
:
我在 onCreate 中添加 Fragment1:
在 Fragment1 中有一个按钮,当按下该按钮时,将向 Activity 发送回调。这是 MainActivity 中的回调:
当我纵向启动程序并按下按钮时,logcat 上会打印“一个窗格”。
但是当我旋转到横向并立即旋转到纵向然后按下按钮“两个窗格”打印在 logcat 中。为什么会发生这种情况?
android - 即使指定了 android:configChanges,应用程序也会重新创建?
我在manifest.xml
以下标签中指定
并且android:configChanges="Orientation|keyboardhidden|keyboard"
意味着避免在“方向”或“键盘隐藏/可见”的情况下重新创建应用程序
在我的 App 类中,我正在调用所有活动的生命周期回调。而且我预计当我旋转/重新定位设备时,不会重新创建应用程序。或者换句话说,以下回调按顺序不会被调用,因为android:configChanges
. 回调是onPause()
onStop()
onDestroy()
onCreate()
onStart()
onResume()
每次我旋转设备时,都会重新创建应用程序并调用前面提到的生命周期的回调。
有什么解释为什么会这样吗?