阅读this so question可以看到工具栏在横向与纵向模式下使用不同的高度。
但是,当指定android:configChanges="orientation|screenSize"
时,工具栏高度将根据首次创建活动的方向保持静态,并且在旋转设备时不会更改。
我该如何解决这个问题?我想我应该在onConfigurationChanged()
方法中调整工具栏的大小,或者我应该销毁并重新创建工具栏并让它从头开始获取默认高度。我实际上更喜欢这第二种方式,但我不知道如何做任何这些,所以欢迎任何建议。
答案 0 :(得分:0)
获取轮换事件:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
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();
}
}
调整布局大小:
首先你必须声明你要调整大小的布局:
RelativeLayout rl = (RelativeLayout) findViewById(R.id.yourId);
并调整大小:
rl.getLayoutParams().height = 100; // replace 100 with your dimensions
rl.getLayoutParams().width = 100;