0

我有一个监控应用程序,它将一组四个参数显示为动画(例如,它使用温度计图形显示温度)。我还有一个屏幕,可以在图表上绘制所有四个参数值。

我的要求是这样的:

  1. 每当设备处于横向模式时,都应显示图表。
  2. 每当设备返回纵向模式时,应显示较早的动画屏幕。

我想知道是否可以根据方向提供不同的功能。我看到 2 个选项

  1. 覆盖Activity.onConfigurationChanged()- 但是然后呢?我可以setContentView()在这一点上做吗?或者,我可以启动一个不同的活动(一个在单独的、仅横向模式的活动中显示图表的活动)?
  2. 覆盖Application.onConfigurationChanged()方法。但坦率地说,我不知道如何进行此操作。
4

1 回答 1

1
  1. 是的,你可以setContentView()在里面打电话Activity.onConfigurationChanged()。您可以检查方向并相应地执行一些任务,即根据方向运行不同的代码。

  2. 正常行为是当方向改变时,系统会杀死 Activity 并创建一个新的。android:configChanges="orientation"您可以在您的活动清单中防止这种情况。在这种情况下,您需要覆盖该onConfigurationChanged(..)方法,该方法将在发生更改时调用。请参阅处理运行时更改。

于 2011-09-15T10:57:24.090 回答