我只想做:
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) setContentView(R.layout.search_portrait); else setContentView(R.layout.search_landscape);
问题是 - getRequestedOrientation总是返回-1。
有什么建议吗?
答案 0 :(得分:5)
如果您只是更改布局,您应该考虑将您的纵向布局放在/res/layout
中,并将您的横向布局放在/res/layout-land
中(使用相同的名称),Android会选择正确的布局自动。
答案 1 :(得分:1)
尝试将android:screenOrientation="portrait"
或android:screenOrientation="landscape"
添加到此活动的清单中。它将是默认方向...因为getRequestedOrientation
“返回当前请求的活动方向。这将是其组件清单中所请求的方向,或者最后请求给定setRequestedOrientation(int)的方向。“。
答案 2 :(得分:0)
必须正常使用,
if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
setContentView(R.layout.main_activity);
并将landscape xml文件放在
中/ RES /布局陆
注意:布局文件名在所有布局目录中必须相同
即