我有一个定制的视图
abstract public class MyView extends AdapterView<Adapter> implements android.view.View.OnLayoutChangeListener {
...
@Override
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
Log.i("MyView", "onLayoutChange()");
}
}
一个匿名子类,在onResume()
期间实例化并设置为我的onResume()
onResume() {
...
MyView myView = new MyView(this) {...};
setContentView(myView);
}
当我现在隐藏ActionBar
并切换到全屏时
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
getActionBar().hide();
ActionBar
和状态栏慢慢缩小,直到它们不再按预期可见。
现在,我的MyView
在原则上将有更多的空间在屏幕上,但据我所知,它不会自动重新测量和布局来填补这个空间。
我本来希望至少调用onLayoutChange()
方法,但是我可以用logcat看到这是而不是的情况。
为了在这种情况下调用onLayoutChange()
,我需要做什么,或者如何告诉我的MyView
填充可用的空间?
发布于 2015-01-17 01:44:40
给这个问题一个答案(或者你可以自己回答).
正如@pskink在评论中所指出的,不要忘记调用addOnLayoutChangeListener
。
https://stackoverflow.com/questions/23512586
复制相似问题