可以通过监听屏幕方向变化,然后交换View的高度和宽度来实现切换。代码示例如下:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
int height = view.getHeight();
int width = view.getWidth();
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = width;
params.width = height;
view.setLayoutParams(params);
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
int height = view.getHeight();
int width = view.getWidth();
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = height;
params.width = width;
view.setLayoutParams(params);
}
}
在activity中重写onConfigurationChanged方法,当屏幕方向发生变化时调用此方法。然后根据屏幕方向交换View的高度和宽度。实际使用时,需要将view改为你需要交换高度和宽度的view。