我对纵向和横向模式有不同的布局,我还需要覆盖 onConfigurationChanged()
回调。但问题是当我将手机方向更改为横向时,我的横向布局不起作用。
谁能告诉我是这个onConfigurationChanged
回调问题还是其他原因?
任何帮助将不胜感激。
我对纵向和横向模式有不同的布局,我还需要覆盖 onConfigurationChanged()
回调。但问题是当我将手机方向更改为横向时,我的横向布局不起作用。
谁能告诉我是这个onConfigurationChanged
回调问题还是其他原因?
任何帮助将不胜感激。
我还需要覆盖 onConfigurationChanged() 回调
为什么?
但问题是当我将手机方向更改为横向时,我的横向布局不起作用。
我猜测“不起作用”意味着横向布局不生效。鉴于您所做的,这是预期的行为。
要解决此问题,最好删除android:configChanges="keyboardHidden|orientation"
. 放入该属性应该作为最后的手段,通常用于没有单独的纵向和横向布局文件的活动。
我相信它肯定会帮助你...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int ot = getResources().getConfiguration().orientation;
switch (ot) {
case Configuration.ORIENTATION_LANDSCAPE:
setContentView(R.layout.main_land);
break;
case Configuration.ORIENTATION_PORTRAIT:
setContentView(R.layout.main);
break;
}
Toast.makeText(this, "Helloo", Toast.LENGTH_SHORT).show();
}
enter code here
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
int ot = getResources().getConfiguration().orientation;
switch (ot) {
case Configuration.ORIENTATION_LANDSCAPE:
setContentView(R.layout.main_land);
break;
case Configuration.ORIENTATION_PORTRAIT:
setContentView(R.layout.main);
break;
}
}
@Override
public Object onRetainNonConfigurationInstance() {
// TODO Auto-generated method stub
return super.onRetainNonConfigurationInstance();
}
}
并在清单文件中添加这一行.. android:configChanges="keyboardHidden|orientation"