如何处理所有定向事件发生的状态? 就像是: 开始之前(保存一些屏幕状态) 发生时(动画目的) 发生后(加载屏幕状态) 我知道onConfigurationChanged可以处理方向更改.我试过这个: public voi
就像是:
>开始之前(保存一些屏幕状态)
>发生时(动画目的)
>发生后(加载屏幕状态)
我知道onConfigurationChanged可以处理方向更改.我试过这个:
public void onConfigurationChanged(Configuration cfg) { saveState(); super.onConfigurationChanged(cfg); loadState(); }
在saveState上,我存储在SharedPreferences上的Gallery上查看的lastIndex.
在loadState上,我从SharedPreferences获取lastIndex并将其作为Gallery上的当前值.
我尝试将loadState放在onResume方法中,但在方向更改发生后不会调用它.
before starting (save some screen states)
使用onSaveInstanceState()和/或onRetainNonConfigurationInstance()和/或您调用setRetainInstance的片段(true)
when happening (animation purposes)
这是由OS处理的.
after it’s happen (load the screen state)
使用onRestoreInstanceState()和/或getLastNonConfigurationInstance()(如果你去了片段路由,你的数据自然就在那里)
I know that onConfigurationChanged can handle orientation changes.
@EightEight’s answer很好地涵盖了这一点.