推荐第一种方法,这个成功解决我的问题
一
点击返回键,竖屏销毁activity,横屏切换为竖屏
@Override
public void onBackPressed() {
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {//判断是否为竖屏
finish();
} else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
二
这个方法相对于在xml布局中android:screenOrientation=”portrait” 设置只可以竖屏,用下边setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
设置之后可以重力感应进行横竖屏切换。
//获取当前Activity的屏幕方向
int orientation = getRequestedOrientation();
if (orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT || orientation == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {
//垂直方向,那么切换成水平方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
} else if (orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
本文提供了两种实现横竖屏切换的方法:一是通过检测屏幕方向并使用onBackPressed()方法来实现;二是通过getRequestedOrientation()获取当前方向,并使用setRequestedOrientation()进行切换。
7152

被折叠的 条评论
为什么被折叠?



