首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >onLayoutChange()未调用

onLayoutChange()未调用
EN

Stack Overflow用户
提问于 2014-05-07 08:26:51
回答 1查看 2.5K关注 0票数 3

我有一个定制的视图

代码语言:javascript
运行
复制
 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()

代码语言:javascript
运行
复制
onResume() {
    ...
    MyView myView = new MyView(this) {...};
    setContentView(myView);
}

当我现在隐藏ActionBar并切换到全屏时

代码语言:javascript
运行
复制
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
getActionBar().hide();

ActionBar和状态栏慢慢缩小,直到它们不再按预期可见。

现在,我的MyView在原则上将有更多的空间在屏幕上,但据我所知,它不会自动重新测量和布局来填补这个空间。

我本来希望至少调用onLayoutChange()方法,但是我可以用logcat看到这是而不是的情况。

为了在这种情况下调用onLayoutChange(),我需要做什么,或者如何告诉我的MyView填充可用的空间?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-17 01:44:40

给这个问题一个答案(或者你可以自己回答).

正如@pskink在评论中所指出的,不要忘记调用addOnLayoutChangeListener

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23512586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档