我在网站的各处搜索,没有找到答案。到目前为止,当方向改变时,我设法保留了App的重要状态,但现在我希望每个方向都有单独的片段:
如果(肖像模式)=>将片段肖像附加到活动
如果(横向模式)=>将片段横向附加到活动
我不想要两个单独的布局,而是两个不同的片段(这是因为我想添加一些“不可能”在纵向模式下实现的功能)。我该如何实现?
答案 0 :(得分:1)
我们建议您在类似波纹管的活动的onResume()方法中检查您的方向。
@Override
protected void onResume() {
super.onResume();
int mOrientation = this.getResources().getConfiguration().orientation;
if (mOrientation == Configuration.ORIENTATION_PORTRAIT) {
// code for portrait mode
//Add your Portarait fragment
} else {
// code for landscape mode
// Add your landscape fragment
}
}
答案 1 :(得分:0)
您可以在要附加片段的活动的onConfigurationChanged
中检查方向的变化。
所以,您需要做的是
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//set the fragment for landscape mode
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
//Set the fragment for portrait mode
}
}
此外,不要忘记添加
android:configChanges="orientation|screenSize
”在您要处理配置更改的清单文件中的活动标签中。