我已为纵向和横向创建了大屏幕布局,并且我在两个布局中都有一个signin.xml,但是当我更改屏幕方向时,它不会加载横向xml而是改为横向模式但是已加载portrait xml。 我也提到了清单中的onconfig更改,请告诉我如何在方向更改时保存数据 请给我看一些例子。
以下是我的java代码
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getOrientation();
boolean oAllow = false;
switch(orientation) {
case Configuration.ORIENTATION_PORTRAIT:
if(!oAllow ) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
break;
case Configuration.ORIENTATION_LANDSCAPE:
if(!oAllow) {
setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
break;
}
}
当我将风景更改为纵向到横向时,如何获取横向视图?
请问有什么建议吗?在此先感谢
答案 0 :(得分:2)
你的肖像是xml文件夹布局还是布局肖像?如果它的布局肖像,请不要这样声明。只需创建默认的'layout'文件夹,当方向为纵向时,操作系统将获取xml。
接下来,在java中注释上面的代码,并在androidmanifest.xml中声明,android:configChanges =“keyboardHidden | orientation”在你的活动声明前面,并测试它是否有效。
答案 1 :(得分:1)
为什么要覆盖onconfigchanges?这可能会弄乱您的布局。当你有一个包含布局的layout和layout-land文件夹时,android能够处理布局更改。