这是的情况:强制定位,同时保持允许设备方向更改?
我有一个简单的活动,在方向更改期间更改其内容。
我希望能够强制相反的方向(横向 - >纵向,纵向 - >横向),以响应点击某个按钮,然后仍然处理方向更改。
我会尝试用一个具体的例子来解释自己(我想完成) -
比方说设备处于纵向模式 - >这样的活动开始在纵向模式。
现在用户点击某个按钮,这在反应中强制活动处于横向模式。
现在用户将设备旋转到横向模式,但是没有任何事情会发生在活动上,因为活动已被强制为横向模式。
现在用户将设备旋转回肖像模式,并且活动再次变为肖像模式。
所以,这里就是我的力作用方向:
public void onButtonClick()
{
if (mLastOrientation == Configuration.ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
else
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}
}
而这里的方向变化处理:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
int currentOrientation = newConfig.orientation;
//
// Some UI changes according to orientation .............
//
mLastOrientation = currentOrientation;
// Here's where I'm allowing device orientation changes again
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
}
的问题是,当我打电话setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED), 该活动正在改变回当前的设备定位 - 这导致强制定位无法正常工作。
任何想法如何解决这个问题?
在此先感谢!