横向模式的方向问题

时间:2011-03-09 13:30:33

标签: android

我在屏幕上显示Timer。

启动计时器后,我将方向从纵向模式更改为横向模式。为了避免在从纵向模式更改为横向模式时重置计时器,我将以下代码添加到清单中的活动声明:

android:configChanges="orientation"

我面临的问题是,当屏幕从纵向模式切换到横向模式时,显示的布局与肖像和画面相同。不是横向模式。只有横向屏幕的一部分被占用。

有没有什么方法可以避免重置计时器从纵向模式转换为横向模式&还有适当的景观布局?

请提供您的意见。

提前致谢。

3 个答案:

答案 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>

仅在您命名为具有横向的表单上关闭自动传感器。