window.onresize获取窗口的变化

获取浏览器窗口的变化事件

有时候我们的组件要求根据窗口的变化进行相应,但是我貌似没有见过可以监听浏览器窗口变化的事件。
通过这几天百度搜索,发现window.onresize函数可以监听到窗口的变化:
window.onresize = function(){
    console.log('222');
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 系统中,软键盘的弹出和隐藏并不会引起窗口高度发生变化,因此也不会触发 window 的 onresize 事件。不过,Android 系统提供了一种专门用于监听软键盘状态变化的方法,可以通过 Activity 的 onGlobalLayout 方法来实现。 具体来说,可以在 Activity 中重写 onGlobalLayout 方法,并通过 ViewTreeObserver 监听 View 的布局变化事件。在 onGlobalLayout 方法中,可以通过比较 View 的高度和屏幕高度的差值来判断软键盘的状态,从而实现软键盘状态的监听。 示例代码如下: ```java private boolean isKeyboardShown = false; // 软键盘是否弹出 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); View rootView = findViewById(R.id.root_view); rootView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int heightDiff = rootView.getRootView().getHeight() - rootView.getHeight(); if (heightDiff > 100 && !isKeyboardShown) { // 高度差值大于 100,说明软键盘弹出 isKeyboardShown = true; // TODO: 处理软键盘弹出事件 } else if (heightDiff < 100 && isKeyboardShown) { // 高度差值小于 100,说明软键盘隐藏 isKeyboardShown = false; // TODO: 处理软键盘隐藏事件 } } }); } ``` 在这个示例代码中,我们首先获取了整个窗口的根视图 rootView,并通过 rootView 的 getViewTreeObserver 方法来添加一个布局变化监听器。在 onGlobalLayout 方法中,我们通过 rootView 的 getRootView 和 getHeight 方法来获取屏幕高度和 rootView 的高度,从而计算出软键盘的高度差值 heightDiff。如果 heightDiff 大于 100,说明软键盘弹出,此时我们可以处理软键盘弹出事件;如果 heightDiff 小于 100,说明软键盘隐藏,此时我们可以处理软键盘隐藏事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值