主动性不是自动旋转:
<activity
android:name=".E028"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar" >
</activity>
如果我使用onconfigurationchanged,它将不起作用:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
当ativity不自动旋转时,如何检查手机的状态是横向还是纵向?
我想这个案子:我必须用传感器
我的代码:
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
if (event.values[1] < 6.5 && event.values[1] > -6.5) {
if (orientation != 1) {
Log.d("Sensor", "Landscape");
// listImage.notifyDataSetChanged();
}
orientation = 1;
} else {
if (orientation != 0) {
Log.d("Sensor", "Portrait");
// listImage.notifyDataSetChanged();
}
orientation = 0;
}
}
但它的工作效果并不理想,我的手机状态是纵向的:如果倾斜一点后,价值回报是横向的。
最佳答案
试试这个…getResources().getConfiguration()
将返回Configuration
if(YourActivity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
// Portrait Mode
} else {
// Landscape Mode
}
编辑
Get phone orientation when locked into one orientation