我实现了onConfigurationChange(..)方法,以在屏幕方向改变时读取视图高度和宽度的值。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
Log.i(TAG, "onConfigurationChanged: "+newConfig.orientation+", "+height+", "+width + ", "+mTempeFrameLayout.getWidth());
}
但它总是回复旧值,如果方向改变,则会给出最后一个方向(可能)的值。
使用displaymetrics获取屏幕宽度/高度可以正常显示,但对于任何视图都不起作用。
有人有想法吗?如何在方向更改时获得正确的值?