我在屏幕上显示Timer。
启动计时器后,我将方向从纵向模式更改为横向模式。为了避免在从纵向模式更改为横向模式时重置计时器,我将以下代码添加到清单中的活动声明:
android:configChanges="orientation"
我面临的问题是,当屏幕从纵向模式切换到横向模式时,显示的布局与肖像和画面相同。不是横向模式。只有横向屏幕的一部分被占用。
有没有什么方法可以避免重置计时器从纵向模式转换为横向模式&还有适当的景观布局?
请提供您的意见。
提前致谢。
答案 0 :(得分:2)
有一种简单的方法可以做到这一点。
如果你有两种不同的横向和纵向布局,那么让android为你处理所有的东西。我的意思是除非严格要求,否则不要覆盖onConfigurationChange()方法的方法,不要添加android:configChanges =“orientation”。只为纵向模式和横向模式制作不同的文件夹。即布局和布局 - 土地....
要保存当前的视图状态,请使用bundle。每当方向改变android重载活动并调用onCreate()方法。此保存的包在onCreate()方法中传递。现在,您可以从此捆绑包中检索视图的状态。
现在接下来的问题将是如何使用此捆绑包。 Then here is the quick example.
覆盖onSavedInstanceState()方法以保存包。
感谢。
答案 1 :(得分:0)
我们有什么方法可以避免 重置计时器从更改 肖像到风景模式?
是的,在onPause期间将值存储在某处并在onResume期间读取它。
还有适当的景观布局
阅读Providing Resources,特别是表2的“屏幕方向”部分,该部分还链接到关于handling runtime changes的非常好的页面。
答案 2 :(得分:0)
您需要做的就是将清单文件设置为screenOrientation =“landscape”
<activity android:name=".main"
android:label="@string/app_name"
android:screenOrientation="landscape">
<intent-filter>
仅在您命名为具有横向的表单上关闭自动传感器。